@sankhyalabs/ezui 7.1.0-dev.5 → 7.1.0-dev.6

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 (248) hide show
  1. package/dist/cjs/ez-actions-button.cjs.entry.js +1 -1
  2. package/dist/cjs/ez-alert-list.cjs.entry.js +1 -1
  3. package/dist/cjs/ez-alert.cjs.entry.js +1 -1
  4. package/dist/cjs/ez-application.cjs.entry.js +1 -1
  5. package/dist/cjs/ez-avatar.cjs.entry.js +1 -1
  6. package/dist/cjs/ez-badge.cjs.entry.js +1 -1
  7. package/dist/cjs/ez-breadcrumb.cjs.entry.js +1 -1
  8. package/dist/cjs/ez-button.cjs.entry.js +1 -1
  9. package/dist/cjs/ez-calendar.cjs.entry.js +1 -1
  10. package/dist/cjs/ez-card-item.cjs.entry.js +1 -1
  11. package/dist/cjs/ez-chart.cjs.entry.js +1 -1
  12. package/dist/cjs/ez-check.cjs.entry.js +1 -1
  13. package/dist/cjs/ez-chip.cjs.entry.js +1 -1
  14. package/dist/cjs/ez-classic-combo-box.cjs.entry.js +1 -1
  15. package/dist/cjs/ez-classic-input.cjs.entry.js +1 -1
  16. package/dist/cjs/ez-classic-text-area.cjs.entry.js +1 -1
  17. package/dist/cjs/ez-collapsible-box.cjs.entry.js +1 -1
  18. package/dist/cjs/ez-combo-box-list_4.cjs.entry.js +2 -2
  19. package/dist/cjs/ez-combo-box.cjs.entry.js +1 -1
  20. package/dist/cjs/ez-date-input.cjs.entry.js +1 -1
  21. package/dist/cjs/ez-date-time-input.cjs.entry.js +1 -1
  22. package/dist/cjs/ez-dialog.cjs.entry.js +1 -1
  23. package/dist/cjs/ez-double-list.cjs.entry.js +1 -1
  24. package/dist/cjs/ez-dropdown.cjs.entry.js +1 -1
  25. package/dist/cjs/ez-empty-card.cjs.entry.js +1 -1
  26. package/dist/cjs/ez-file-item.cjs.entry.js +1 -1
  27. package/dist/cjs/ez-filter-input.cjs.entry.js +1 -1
  28. package/dist/cjs/ez-form-view.cjs.entry.js +1 -1
  29. package/dist/cjs/ez-form.cjs.entry.js +2 -2
  30. package/dist/cjs/ez-grid-view.cjs.entry.js +1 -1
  31. package/dist/cjs/ez-grid.cjs.entry.js +2 -2
  32. package/dist/cjs/ez-guide-navigator.cjs.entry.js +1 -1
  33. package/dist/cjs/ez-icon.cjs.entry.js +1 -1
  34. package/dist/cjs/ez-link-builder_6.cjs.entry.js +1 -1
  35. package/dist/cjs/ez-list-item.cjs.entry.js +1 -1
  36. package/dist/cjs/ez-list.cjs.entry.js +1 -1
  37. package/dist/cjs/ez-loading-bar.cjs.entry.js +1 -1
  38. package/dist/cjs/ez-modal-container.cjs.entry.js +3 -12
  39. package/dist/cjs/ez-modal.cjs.entry.js +1 -1
  40. package/dist/cjs/ez-multi-selection-list.cjs.entry.js +1 -1
  41. package/dist/cjs/ez-number-input.cjs.entry.js +1 -1
  42. package/dist/cjs/ez-pagination.cjs.entry.js +1 -1
  43. package/dist/cjs/ez-popover-core.cjs.entry.js +1 -1
  44. package/dist/cjs/ez-popover-plus_3.cjs.entry.js +1 -1
  45. package/dist/cjs/ez-popover.cjs.entry.js +1 -1
  46. package/dist/cjs/ez-popup.cjs.entry.js +5 -2
  47. package/dist/cjs/ez-progress-bar.cjs.entry.js +1 -1
  48. package/dist/cjs/ez-radio-button.cjs.entry.js +1 -1
  49. package/dist/cjs/ez-rich-toolbar-item.cjs.entry.js +1 -1
  50. package/dist/cjs/ez-scroller_2.cjs.entry.js +1 -1
  51. package/dist/cjs/ez-search-plus.cjs.entry.js +1 -1
  52. package/dist/cjs/ez-search-result-list.cjs.entry.js +1 -1
  53. package/dist/cjs/ez-search.cjs.entry.js +1 -1
  54. package/dist/cjs/ez-sidebar-navigator.cjs.entry.js +1 -1
  55. package/dist/cjs/ez-skeleton.cjs.entry.js +1 -1
  56. package/dist/cjs/ez-sortable-list.cjs.entry.js +1 -1
  57. package/dist/cjs/ez-spinner.cjs.entry.js +1 -1
  58. package/dist/cjs/ez-split-button.cjs.entry.js +1 -1
  59. package/dist/cjs/ez-split-item.cjs.entry.js +1 -1
  60. package/dist/cjs/ez-split-panel.cjs.entry.js +1 -1
  61. package/dist/cjs/ez-tabselector.cjs.entry.js +1 -1
  62. package/dist/cjs/ez-tag-input.cjs.entry.js +1 -1
  63. package/dist/cjs/ez-tag.cjs.entry.js +1 -1
  64. package/dist/cjs/ez-text-area.cjs.entry.js +1 -1
  65. package/dist/cjs/ez-text-input.cjs.entry.js +1 -1
  66. package/dist/cjs/ez-tile-medium.cjs.entry.js +1 -1
  67. package/dist/cjs/ez-tile.cjs.entry.js +1 -1
  68. package/dist/cjs/ez-time-input.cjs.entry.js +1 -1
  69. package/dist/cjs/ez-toast.cjs.entry.js +1 -1
  70. package/dist/cjs/ez-tooltip.cjs.entry.js +1 -1
  71. package/dist/cjs/ez-tree.cjs.entry.js +1 -1
  72. package/dist/cjs/ez-underface.cjs.entry.js +1 -1
  73. package/dist/cjs/ez-upload.cjs.entry.js +1 -1
  74. package/dist/cjs/ez-view-stack.cjs.entry.js +1 -1
  75. package/dist/cjs/ezui.cjs.js +1 -1
  76. package/dist/cjs/filter-column.cjs.entry.js +1 -1
  77. package/dist/cjs/{index-9e5554cb.js → index-a7b0c73d.js} +0 -3
  78. package/dist/cjs/loader.cjs.js +1 -1
  79. package/dist/cjs/{search-column-540f3925.js → search-column-8bfee733.js} +1 -1
  80. package/dist/collection/components/ez-modal-container/ez-modal-container.css +2 -8
  81. package/dist/collection/components/ez-modal-container/ez-modal-container.js +1 -10
  82. package/dist/collection/components/ez-popup/ez-popup.js +4 -1
  83. package/dist/custom-elements/index.js +6 -12
  84. package/dist/esm/ez-actions-button.entry.js +1 -1
  85. package/dist/esm/ez-alert-list.entry.js +1 -1
  86. package/dist/esm/ez-alert.entry.js +1 -1
  87. package/dist/esm/ez-application.entry.js +1 -1
  88. package/dist/esm/ez-avatar.entry.js +1 -1
  89. package/dist/esm/ez-badge.entry.js +1 -1
  90. package/dist/esm/ez-breadcrumb.entry.js +1 -1
  91. package/dist/esm/ez-button.entry.js +1 -1
  92. package/dist/esm/ez-calendar.entry.js +1 -1
  93. package/dist/esm/ez-card-item.entry.js +1 -1
  94. package/dist/esm/ez-chart.entry.js +1 -1
  95. package/dist/esm/ez-check.entry.js +1 -1
  96. package/dist/esm/ez-chip.entry.js +1 -1
  97. package/dist/esm/ez-classic-combo-box.entry.js +1 -1
  98. package/dist/esm/ez-classic-input.entry.js +1 -1
  99. package/dist/esm/ez-classic-text-area.entry.js +1 -1
  100. package/dist/esm/ez-collapsible-box.entry.js +1 -1
  101. package/dist/esm/ez-combo-box-list_4.entry.js +2 -2
  102. package/dist/esm/ez-combo-box.entry.js +1 -1
  103. package/dist/esm/ez-date-input.entry.js +1 -1
  104. package/dist/esm/ez-date-time-input.entry.js +1 -1
  105. package/dist/esm/ez-dialog.entry.js +1 -1
  106. package/dist/esm/ez-double-list.entry.js +1 -1
  107. package/dist/esm/ez-dropdown.entry.js +1 -1
  108. package/dist/esm/ez-empty-card.entry.js +1 -1
  109. package/dist/esm/ez-file-item.entry.js +1 -1
  110. package/dist/esm/ez-filter-input.entry.js +1 -1
  111. package/dist/esm/ez-form-view.entry.js +1 -1
  112. package/dist/esm/ez-form.entry.js +2 -2
  113. package/dist/esm/ez-grid-view.entry.js +1 -1
  114. package/dist/esm/ez-grid.entry.js +2 -2
  115. package/dist/esm/ez-guide-navigator.entry.js +1 -1
  116. package/dist/esm/ez-icon.entry.js +1 -1
  117. package/dist/esm/ez-link-builder_6.entry.js +1 -1
  118. package/dist/esm/ez-list-item.entry.js +1 -1
  119. package/dist/esm/ez-list.entry.js +1 -1
  120. package/dist/esm/ez-loading-bar.entry.js +1 -1
  121. package/dist/esm/ez-modal-container.entry.js +3 -12
  122. package/dist/esm/ez-modal.entry.js +1 -1
  123. package/dist/esm/ez-multi-selection-list.entry.js +1 -1
  124. package/dist/esm/ez-number-input.entry.js +1 -1
  125. package/dist/esm/ez-pagination.entry.js +1 -1
  126. package/dist/esm/ez-popover-core.entry.js +1 -1
  127. package/dist/esm/ez-popover-plus_3.entry.js +1 -1
  128. package/dist/esm/ez-popover.entry.js +1 -1
  129. package/dist/esm/ez-popup.entry.js +5 -2
  130. package/dist/esm/ez-progress-bar.entry.js +1 -1
  131. package/dist/esm/ez-radio-button.entry.js +1 -1
  132. package/dist/esm/ez-rich-toolbar-item.entry.js +1 -1
  133. package/dist/esm/ez-scroller_2.entry.js +1 -1
  134. package/dist/esm/ez-search-plus.entry.js +1 -1
  135. package/dist/esm/ez-search-result-list.entry.js +1 -1
  136. package/dist/esm/ez-search.entry.js +1 -1
  137. package/dist/esm/ez-sidebar-navigator.entry.js +1 -1
  138. package/dist/esm/ez-skeleton.entry.js +1 -1
  139. package/dist/esm/ez-sortable-list.entry.js +1 -1
  140. package/dist/esm/ez-spinner.entry.js +1 -1
  141. package/dist/esm/ez-split-button.entry.js +1 -1
  142. package/dist/esm/ez-split-item.entry.js +1 -1
  143. package/dist/esm/ez-split-panel.entry.js +1 -1
  144. package/dist/esm/ez-tabselector.entry.js +1 -1
  145. package/dist/esm/ez-tag-input.entry.js +1 -1
  146. package/dist/esm/ez-tag.entry.js +1 -1
  147. package/dist/esm/ez-text-area.entry.js +1 -1
  148. package/dist/esm/ez-text-input.entry.js +1 -1
  149. package/dist/esm/ez-tile-medium.entry.js +1 -1
  150. package/dist/esm/ez-tile.entry.js +1 -1
  151. package/dist/esm/ez-time-input.entry.js +1 -1
  152. package/dist/esm/ez-toast.entry.js +1 -1
  153. package/dist/esm/ez-tooltip.entry.js +1 -1
  154. package/dist/esm/ez-tree.entry.js +1 -1
  155. package/dist/esm/ez-underface.entry.js +1 -1
  156. package/dist/esm/ez-upload.entry.js +1 -1
  157. package/dist/esm/ez-view-stack.entry.js +1 -1
  158. package/dist/esm/ezui.js +2 -2
  159. package/dist/esm/filter-column.entry.js +1 -1
  160. package/dist/esm/{index-5a720e56.js → index-baa5e267.js} +1 -3
  161. package/dist/esm/loader.js +2 -2
  162. package/dist/esm/{search-column-4e827a95.js → search-column-c00119ae.js} +1 -1
  163. package/dist/ezui/ezui.esm.js +1 -1
  164. package/dist/ezui/{p-5d1adf13.entry.js → p-0b333f09.entry.js} +1 -1
  165. package/dist/ezui/{p-1d846a77.entry.js → p-0c0eb410.entry.js} +1 -1
  166. package/dist/ezui/{p-cf4e2a35.entry.js → p-0e49c0ff.entry.js} +1 -1
  167. package/dist/ezui/{p-77e738d5.entry.js → p-124699e0.entry.js} +1 -1
  168. package/dist/ezui/{p-26077a43.entry.js → p-1266fe78.entry.js} +1 -1
  169. package/dist/ezui/{p-06ca9d9a.entry.js → p-1730ee24.entry.js} +1 -1
  170. package/dist/ezui/{p-3b5bafe4.entry.js → p-1adf7139.entry.js} +1 -1
  171. package/dist/ezui/{p-13949839.entry.js → p-1bfef8e5.entry.js} +1 -1
  172. package/dist/ezui/{p-4cc79a52.entry.js → p-1cde96f9.entry.js} +1 -1
  173. package/dist/ezui/{p-81461d2f.entry.js → p-1e7a8633.entry.js} +1 -1
  174. package/dist/ezui/{p-6b51c9cc.entry.js → p-1f50fa05.entry.js} +1 -1
  175. package/dist/ezui/{p-cf33bc48.entry.js → p-20c024f7.entry.js} +1 -1
  176. package/dist/ezui/{p-e4c7eb39.js → p-23a36bb6.js} +2 -2
  177. package/dist/ezui/{p-169d460d.entry.js → p-2528e988.entry.js} +1 -1
  178. package/dist/ezui/{p-06f1b8e4.entry.js → p-288631d1.entry.js} +1 -1
  179. package/dist/ezui/{p-3136f418.entry.js → p-2a70f094.entry.js} +1 -1
  180. package/dist/ezui/{p-b77a0ce4.entry.js → p-2ba2d792.entry.js} +1 -1
  181. package/dist/ezui/{p-2d803ee6.entry.js → p-3fe05d6b.entry.js} +1 -1
  182. package/dist/ezui/{p-f7ca8634.entry.js → p-411c0222.entry.js} +1 -1
  183. package/dist/ezui/{p-570cf58a.entry.js → p-48effc69.entry.js} +1 -1
  184. package/dist/ezui/{p-4a876b8b.entry.js → p-4d30b703.entry.js} +1 -1
  185. package/dist/ezui/{p-b5b33be8.entry.js → p-4e1df756.entry.js} +1 -1
  186. package/dist/ezui/{p-4296e9f9.js → p-4f0632b4.js} +1 -1
  187. package/dist/ezui/{p-8aa7d60b.entry.js → p-59092a66.entry.js} +1 -1
  188. package/dist/ezui/{p-78f18973.entry.js → p-59a98e31.entry.js} +1 -1
  189. package/dist/ezui/{p-129fea99.entry.js → p-5ab08b60.entry.js} +1 -1
  190. package/dist/ezui/{p-6fc26622.entry.js → p-5ed81457.entry.js} +1 -1
  191. package/dist/ezui/{p-c754774e.entry.js → p-6020f3d5.entry.js} +1 -1
  192. package/dist/ezui/{p-51e34317.entry.js → p-6369a0cd.entry.js} +1 -1
  193. package/dist/ezui/{p-b3530711.entry.js → p-6a9a20a0.entry.js} +1 -1
  194. package/dist/ezui/{p-0b531233.entry.js → p-6d596a5a.entry.js} +1 -1
  195. package/dist/ezui/{p-bd65ce5d.entry.js → p-6d8f5cb0.entry.js} +1 -1
  196. package/dist/ezui/{p-30513f10.entry.js → p-6f119d5f.entry.js} +1 -1
  197. package/dist/ezui/{p-1723f728.entry.js → p-6f77a359.entry.js} +1 -1
  198. package/dist/ezui/{p-e2eb894a.entry.js → p-79277e43.entry.js} +1 -1
  199. package/dist/ezui/{p-e195eaad.entry.js → p-7f792043.entry.js} +1 -1
  200. package/dist/ezui/{p-0391f255.entry.js → p-7f8c1fce.entry.js} +1 -1
  201. package/dist/ezui/{p-b7c6ce20.entry.js → p-7fe97ef5.entry.js} +1 -1
  202. package/dist/ezui/p-870506ba.entry.js +1 -0
  203. package/dist/ezui/{p-1d8ea7d2.entry.js → p-8bb3aeb0.entry.js} +1 -1
  204. package/dist/ezui/{p-cb4f1ee9.entry.js → p-8c57ffa4.entry.js} +1 -1
  205. package/dist/ezui/{p-53e773a4.entry.js → p-8dc267ff.entry.js} +1 -1
  206. package/dist/ezui/{p-82fa4b09.entry.js → p-8df1ca33.entry.js} +1 -1
  207. package/dist/ezui/{p-78e975b4.entry.js → p-91c9d50e.entry.js} +1 -1
  208. package/dist/ezui/{p-05e68ab3.entry.js → p-93e1c917.entry.js} +1 -1
  209. package/dist/ezui/{p-7fdf1f2b.entry.js → p-957d08cd.entry.js} +1 -1
  210. package/dist/ezui/{p-d3779449.entry.js → p-9b2e6438.entry.js} +1 -1
  211. package/dist/ezui/{p-c2b20f78.entry.js → p-9f5fa3f9.entry.js} +1 -1
  212. package/dist/ezui/{p-bc693db6.entry.js → p-a0bf1fc7.entry.js} +1 -1
  213. package/dist/ezui/{p-9bcfa689.entry.js → p-a3075f52.entry.js} +1 -1
  214. package/dist/ezui/{p-f26b97e9.entry.js → p-a3ada561.entry.js} +1 -1
  215. package/dist/ezui/{p-c73964f8.entry.js → p-a401041c.entry.js} +1 -1
  216. package/dist/ezui/{p-43106b79.entry.js → p-a7eab406.entry.js} +1 -1
  217. package/dist/ezui/{p-dfca5946.entry.js → p-a80b1287.entry.js} +1 -1
  218. package/dist/ezui/{p-a48979a8.entry.js → p-ba7e908a.entry.js} +1 -1
  219. package/dist/ezui/p-bc2f844e.entry.js +1 -0
  220. package/dist/ezui/{p-015a6319.entry.js → p-bd6146c5.entry.js} +1 -1
  221. package/dist/ezui/{p-b81d19c7.entry.js → p-c82acfc6.entry.js} +1 -1
  222. package/dist/ezui/p-ce5d69da.entry.js +1 -0
  223. package/dist/ezui/{p-4a530109.entry.js → p-d0e6911e.entry.js} +1 -1
  224. package/dist/ezui/{p-c96e536d.entry.js → p-d2645bdf.entry.js} +1 -1
  225. package/dist/ezui/{p-a9432878.entry.js → p-d6742c1e.entry.js} +1 -1
  226. package/dist/ezui/{p-770cf2b8.entry.js → p-d6f50207.entry.js} +1 -1
  227. package/dist/ezui/p-d8cc640d.entry.js +1 -0
  228. package/dist/ezui/{p-5f4a66ec.entry.js → p-dee18824.entry.js} +1 -1
  229. package/dist/ezui/p-e03b2f19.entry.js +1 -0
  230. package/dist/ezui/{p-74f08ec9.entry.js → p-e27d7dc2.entry.js} +1 -1
  231. package/dist/ezui/{p-4815ddbf.entry.js → p-e46a4d06.entry.js} +1 -1
  232. package/dist/ezui/{p-000159dc.entry.js → p-e75c7a23.entry.js} +1 -1
  233. package/dist/ezui/{p-e9b409c1.entry.js → p-e7a7c594.entry.js} +1 -1
  234. package/dist/ezui/{p-4dc07e01.entry.js → p-e882635e.entry.js} +1 -1
  235. package/dist/ezui/{p-b21efe83.entry.js → p-e8c57463.entry.js} +1 -1
  236. package/dist/ezui/{p-a859ea2e.entry.js → p-e8c6c973.entry.js} +1 -1
  237. package/dist/ezui/{p-f17e7182.entry.js → p-e99cbb51.entry.js} +1 -1
  238. package/dist/ezui/{p-53412766.entry.js → p-eee3c7ff.entry.js} +1 -1
  239. package/dist/ezui/{p-35e3715c.entry.js → p-ef8bd3e8.entry.js} +1 -1
  240. package/dist/ezui/{p-44b39e81.entry.js → p-fa6732f2.entry.js} +1 -1
  241. package/dist/types/components/ez-modal-container/ez-modal-container.d.ts +0 -2
  242. package/dist/types/components/ez-popup/ez-popup.d.ts +1 -0
  243. package/package.json +1 -1
  244. package/dist/ezui/p-14d6aeb8.entry.js +0 -1
  245. package/dist/ezui/p-3be7d8d8.entry.js +0 -1
  246. package/dist/ezui/p-6ec40dec.entry.js +0 -1
  247. package/dist/ezui/p-7390c7e6.entry.js +0 -1
  248. package/dist/ezui/p-a1c3f74d.entry.js +0 -1
@@ -1 +1 @@
1
- import{r as t,c as i,h as e}from"./p-e4c7eb39.js";import{c as s,a as h}from"./p-112455b1.js";class r{constructor(t){this.strategy=t}setStrategy(t){this.strategy=t}render(t,i,e,s,h){return this.strategy.render(t,i,e,s,h)}destroy(){return this.strategy.destroy()}}var n;!function(t){t.COLUMN="column",t.BAR="bar",t.LINE="line",t.PIE="pie",t.DONUT="donut"}(n||(n={}));var o=s((function(t){var i,e;i="undefined"!=typeof window?window:h,e=function(t){var i={};function e(i,e,s,h){!i.hasOwnProperty(e)&&(i[e]=h.apply(null,s),t&&"function"==typeof CustomEvent&&t.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:e,module:i[e]}})))}return e(i,"Core/Globals.js",[],(function(){var i,e;return(e=i||(i={})).SVG_NS="http://www.w3.org/2000/svg",e.product="Highcharts",e.version="11.4.8",e.win=void 0!==t?t:{},e.doc=e.win.document,e.svg=e.doc&&e.doc.createElementNS&&!!e.doc.createElementNS(e.SVG_NS,"svg").createSVGRect,e.userAgent=e.win.navigator&&e.win.navigator.userAgent||"",e.isChrome=e.win.chrome,e.isFirefox=-1!==e.userAgent.indexOf("Firefox"),e.isMS=/(edge|msie|trident)/i.test(e.userAgent)&&!e.win.opera,e.isSafari=!e.isChrome&&-1!==e.userAgent.indexOf("Safari"),e.isTouchDevice=/(Mobile|Android|Windows Phone)/.test(e.userAgent),e.isWebKit=-1!==e.userAgent.indexOf("AppleWebKit"),e.deg2rad=2*Math.PI/360,e.hasBidiBug=e.isFirefox&&4>parseInt(e.userAgent.split("Firefox/")[1],10),e.marginNames=["plotTop","marginRight","marginBottom","plotLeft"],e.noop=function(){},e.supportsPassiveEvents=function(){let t=!1;if(!e.isMS){let i=Object.defineProperty({},"passive",{get:function(){t=!0}});e.win.addEventListener&&e.win.removeEventListener&&(e.win.addEventListener("testPassive",e.noop,i),e.win.removeEventListener("testPassive",e.noop,i))}return t}(),e.charts=[],e.composed=[],e.dateFormats={},e.seriesTypes={},e.symbolSizes={},e.chartCount=0,i})),e(i,"Core/Utilities.js",[i["Core/Globals.js"]],(function(t){let i,{charts:e,doc:s,win:h}=t;function r(i,e,s,n){let o=e?"Highcharts error":"Highcharts warning";32===i&&(i=`${o}: Deprecated member`);let a=u(i),l=a?`${o} #${i}: www.highcharts.com/errors/${i}/`:i.toString();if(void 0!==n){let t="";a&&(l+="?"),w(n,(function(i,e){t+=`\n - ${e}: ${i}`,a&&(l+=encodeURI(e)+"="+encodeURI(i))})),l+=t}S(t,"displayError",{chart:s,code:i,message:l,params:n},(function(){if(e)throw Error(l);h.console&&-1===r.messages.indexOf(l)&&console.warn(l)})),r.messages.push(l)}function n(t,i){return parseInt(t,i||10)}function o(t){return"string"==typeof t}function a(t){let i=Object.prototype.toString.call(t);return"[object Array]"===i||"[object Array Iterator]"===i}function l(t,i){return!(!t||"object"!=typeof t||i&&a(t))}function c(t){return l(t)&&"number"==typeof t.nodeType}function d(t){let i=t&&t.constructor;return!(!l(t,!0)||c(t)||!i||!i.name||"Object"===i.name)}function u(t){return"number"==typeof t&&!isNaN(t)&&t<1/0&&t>-1/0}function f(t){return null!=t}function p(t,i,e){let s,h=o(i)&&!f(e),r=(i,e)=>{f(i)?t.setAttribute(e,i):h?(s=t.getAttribute(e))||"class"!==e||(s=t.getAttribute(e+"Name")):t.removeAttribute(e)};return o(i)?r(e,i):w(i,r),s}function g(t){return a(t)?t:[t]}function m(t,i){let e;for(e in t||(t={}),i)t[e]=i[e];return t}function b(){let t=arguments,i=t.length;for(let e=0;e<i;e++){let i=t[e];if(null!=i)return i}}function x(t,i){m(t.style,i)}function v(t){return Math.pow(10,Math.floor(Math.log(t)/Math.LN10))}function y(t,i){return t>1e14?t:parseFloat(t.toPrecision(i||14))}(r||(r={})).messages=[],Math.easeInOutSine=function(t){return-.5*(Math.cos(Math.PI*t)-1)};let M=Array.prototype.find?function(t,i){return t.find(i)}:function(t,i){let e,s=t.length;for(e=0;e<s;e++)if(i(t[e],e))return t[e]};function w(t,i,e){for(let s in t)Object.hasOwnProperty.call(t,s)&&i.call(e||t[s],t[s],s,t)}function k(t,i,e){function s(i,e){let s=t.removeEventListener;s&&s.call(t,i,e,!1)}function h(e){let h,r;t.nodeName&&(i?(h={})[i]=!0:h=e,w(h,(function(t,i){if(e[i])for(r=e[i].length;r--;)s(i,e[i][r].fn)})))}let r="function"==typeof t&&t.prototype||t;if(Object.hasOwnProperty.call(r,"hcEvents")){let t=r.hcEvents;i?e?(t[i]=(t[i]||[]).filter((function(t){return e!==t.fn})),s(i,e)):(h(t),t[i]=[]):(h(t),delete r.hcEvents)}}function S(i,e,h,r){if(h=h||{},s.createEvent&&(i.dispatchEvent||i.fireEvent&&i!==t)){let t=s.createEvent("Events");t.initEvent(e,!0,!0),h=m(t,h),i.dispatchEvent?i.dispatchEvent(h):i.fireEvent(e,h)}else if(i.hcEvents){h.target||m(h,{preventDefault:function(){h.defaultPrevented=!0},target:i,type:e});let t=[],s=i,r=!1;for(;s.hcEvents;)Object.hasOwnProperty.call(s,"hcEvents")&&s.hcEvents[e]&&(t.length&&(r=!0),t.unshift.apply(t,s.hcEvents[e])),s=Object.getPrototypeOf(s);r&&t.sort(((t,i)=>t.order-i.order)),t.forEach((t=>{!1===t.fn.call(i,h)&&h.preventDefault()}))}r&&!h.defaultPrevented&&r.call(i,h)}w({map:"map",each:"forEach",grep:"filter",reduce:"reduce",some:"some"},(function(i,e){t[e]=function(t){return r(32,!1,void 0,{[`Highcharts.${e}`]:`use Array.${i}`}),Array.prototype[i].apply(t,[].slice.call(arguments,1))}}));let O=function(){let t=Math.random().toString(36).substring(2,9)+"-",e=0;return function(){return"highcharts-"+(i?"":t)+e++}}();return h.jQuery&&(h.jQuery.fn.highcharts=function(){let i=[].slice.call(arguments);if(this[0])return i[0]?(new(t[o(i[0])?i.shift():"Chart"])(this[0],i[0],i[1]),this):e[p(this[0],"data-highcharts-chart")]}),{addEvent:function(i,e,s,h={}){let r="function"==typeof i&&i.prototype||i;Object.hasOwnProperty.call(r,"hcEvents")||(r.hcEvents={});let n=r.hcEvents;t.Point&&i instanceof t.Point&&i.series&&i.series.chart&&(i.series.chart.runTrackerClick=!0);let o=i.addEventListener;return o&&o.call(i,e,s,!!t.supportsPassiveEvents&&{passive:void 0===h.passive?-1!==e.indexOf("touch"):h.passive,capture:!1}),n[e]||(n[e]=[]),n[e].push({fn:s,order:"number"==typeof h.order?h.order:1/0}),n[e].sort(((t,i)=>t.order-i.order)),function(){k(i,e,s)}},arrayMax:function(t){let i=t.length,e=t[0];for(;i--;)t[i]>e&&(e=t[i]);return e},arrayMin:function(t){let i=t.length,e=t[0];for(;i--;)t[i]<e&&(e=t[i]);return e},attr:p,clamp:function(t,i,e){return t>i?t<e?t:e:i},clearTimeout:function(t){f(t)&&clearTimeout(t)},correctFloat:y,createElement:function(t,i,e,h,r){let n=s.createElement(t);return i&&m(n,i),r&&x(n,{padding:"0",border:"none",margin:"0"}),e&&x(n,e),h&&h.appendChild(n),n},crisp:(t,i=0,e)=>{let s=i%2/2,h=e?-1:1;return(Math.round(t*h-s)+s)*h},css:x,defined:f,destroyObjectProperties:function(t,i,e){w(t,(function(s,h){s!==i&&s?.destroy&&s.destroy(),(s?.destroy||!e)&&delete t[h]}))},diffObjects:function(t,i,e,s){let h={};return function t(i,h,r,n){let o=e?h:i;w(i,(function(e,c){if(!n&&s&&s.indexOf(c)>-1&&h[c]){e=g(e),r[c]=[];for(let i=0;i<Math.max(e.length,h[c].length);i++)h[c][i]&&(void 0===e[i]?r[c][i]=h[c][i]:(r[c][i]={},t(e[i],h[c][i],r[c][i],n+1)))}else l(e,!0)&&!e.nodeType?(r[c]=a(e)?[]:{},t(e,h[c]||{},r[c],n+1),0!==Object.keys(r[c]).length||"colorAxis"===c&&0===n||delete r[c]):(i[c]!==h[c]||c in i&&!(c in h))&&"__proto__"!==c&&"constructor"!==c&&(r[c]=o[c])}))}(t,i,h,0),h},discardElement:function(t){t&&t.parentElement&&t.parentElement.removeChild(t)},erase:function(t,i){let e=t.length;for(;e--;)if(t[e]===i){t.splice(e,1);break}},error:r,extend:m,extendClass:function(t,i){let e=function(){};return m(e.prototype=new t,i),e},find:M,fireEvent:S,getClosestDistance:function(t,i){let e,s,h,r=!i;return t.forEach((t=>{if(t.length>1)for(h=t.length-1;h>0;h--)(s=t[h]-t[h-1])<0&&!r?(i?.(),i=void 0):s&&(void 0===e||s<e)&&(e=s)})),e},getMagnitude:v,getNestedProperty:function(t,i){let e=t.split(".");for(;e.length&&f(i);){let t=e.shift();if(void 0===t||"__proto__"===t)return;if("this"===t){let t;return l(i)&&(t=i["@this"]),t??i}let s=i[t];if(!f(s)||"function"==typeof s||"number"==typeof s.nodeType||s===h)return;i=s}return i},getStyle:function t(i,e,s){let r;if("width"===e){let e=Math.min(i.offsetWidth,i.scrollWidth),s=i.getBoundingClientRect&&i.getBoundingClientRect().width;return s<e&&s>=e-1&&(e=Math.floor(s)),Math.max(0,e-(t(i,"padding-left",!0)||0)-(t(i,"padding-right",!0)||0))}if("height"===e)return Math.max(0,Math.min(i.offsetHeight,i.scrollHeight)-(t(i,"padding-top",!0)||0)-(t(i,"padding-bottom",!0)||0));let o=h.getComputedStyle(i,void 0);return o&&(r=o.getPropertyValue(e),b(s,"opacity"!==e)&&(r=n(r))),r},inArray:function(t,i,e){return r(32,!1,void 0,{"Highcharts.inArray":"use Array.indexOf"}),i.indexOf(t,e)},insertItem:function(t,i){let e,s=t.options.index,h=i.length;for(e=t.options.isInternal?h:0;e<h+1;e++)if(!i[e]||u(s)&&s<b(i[e].options.index,i[e]._i)||i[e].options.isInternal){i.splice(e,0,t);break}return e},isArray:a,isClass:d,isDOMElement:c,isFunction:function(t){return"function"==typeof t},isNumber:u,isObject:l,isString:o,keys:function(t){return r(32,!1,void 0,{"Highcharts.keys":"use Object.keys"}),Object.keys(t)},merge:function(){let t,i=arguments,e={},s=function(t,i){return"object"!=typeof t&&(t={}),w(i,(function(e,h){"__proto__"!==h&&"constructor"!==h&&(t[h]=!l(e,!0)||d(e)||c(e)?i[h]:s(t[h]||{},e))})),t};!0===i[0]&&(e=i[1],i=Array.prototype.slice.call(i,2));let h=i.length;for(t=0;t<h;t++)e=s(e,i[t]);return e},normalizeTickInterval:function(t,i,e,s,h){let r,n=t,o=t/(e=b(e,v(t)));for(!i&&(i=h?[1,1.2,1.5,2,2.5,3,4,5,6,8,10]:[1,2,2.5,5,10],!1===s&&(1===e?i=i.filter((function(t){return t%1==0})):e<=.1&&(i=[1/e]))),r=0;r<i.length&&(n=i[r],(!h||!(n*e>=t))&&(h||!(o<=(i[r]+(i[r+1]||i[r]))/2)));r++);return y(n*e,-Math.round(Math.log(.001)/Math.LN10))},objectEach:w,offset:function(t){let i=s.documentElement,e=t.parentElement||t.parentNode?t.getBoundingClientRect():{top:0,left:0,width:0,height:0};return{top:e.top+(h.pageYOffset||i.scrollTop)-(i.clientTop||0),left:e.left+(h.pageXOffset||i.scrollLeft)-(i.clientLeft||0),width:e.width,height:e.height}},pad:function(t,i,e){return Array((i||2)+1-String(t).replace("-","").length).join(e||"0")+t},pick:b,pInt:n,pushUnique:function(t,i){return 0>t.indexOf(i)&&!!t.push(i)},relativeLength:function(t,i,e){return/%$/.test(t)?i*parseFloat(t)/100+(e||0):parseFloat(t)},removeEvent:k,replaceNested:function(t,...i){let e,s;do{for(s of(e=t,i))t=t.replace(s[0],s[1])}while(t!==e);return t},splat:g,stableSort:function(t,i){let e,s,h=t.length;for(s=0;s<h;s++)t[s].safeI=s;for(t.sort((function(t,s){return 0===(e=i(t,s))?t.safeI-s.safeI:e})),s=0;s<h;s++)delete t[s].safeI},syncTimeout:function(t,i,e){return i>0?setTimeout(t,i,e):(t.call(0,e),-1)},timeUnits:{millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5,month:24192e5,year:314496e5},uniqueKey:O,useSerialIds:function(t){return i=b(t,i)},wrap:function(t,i,e){let s=t[i];t[i]=function(){let t=arguments,i=this;return e.apply(this,[function(){return s.apply(i,arguments.length?arguments:t)}].concat([].slice.call(arguments)))}}}})),e(i,"Core/Chart/ChartDefaults.js",[],(function(){return{alignThresholds:!1,panning:{enabled:!1,type:"x"},styledMode:!1,borderRadius:0,colorCount:10,allowMutatingData:!0,ignoreHiddenSeries:!0,spacing:[10,10,15,10],resetZoomButton:{theme:{},position:{}},reflow:!0,type:"line",zooming:{singleTouch:!1,resetButton:{theme:{zIndex:6},position:{align:"right",x:-10,y:10}}},width:null,height:null,borderColor:"#334eff",backgroundColor:"#ffffff",plotBorderColor:"#cccccc"}})),e(i,"Core/Color/Palettes.js",[],(function(){return{colors:["#2caffe","#544fc5","#00e272","#fe6a35","#6b8abc","#d568fb","#2ee0ca","#fa4b42","#feb56a","#91e8e1"]}})),e(i,"Core/Time.js",[i["Core/Globals.js"],i["Core/Utilities.js"]],(function(t,i){let{win:e}=t,{defined:s,error:h,extend:r,isNumber:n,isObject:o,merge:a,objectEach:l,pad:c,pick:d,splat:u,timeUnits:f}=i,p=t.isSafari&&e.Intl&&e.Intl.DateTimeFormat.prototype.formatRange,g=t.isSafari&&e.Intl&&!e.Intl.DateTimeFormat.prototype.formatRange;class m{constructor(t){this.options={},this.useUTC=!1,this.variableTimezone=!1,this.Date=e.Date,this.getTimezoneOffset=this.timezoneOffsetFunction(),this.update(t)}get(t,i){if(this.variableTimezone||this.timezoneOffset){let e=i.getTime(),s=e-this.getTimezoneOffset(i);i.setTime(s);let h=i["getUTC"+t]();return i.setTime(e),h}return this.useUTC?i["getUTC"+t]():i["get"+t]()}set(t,i,e){if(this.variableTimezone||this.timezoneOffset){if("Milliseconds"===t||"Seconds"===t||"Minutes"===t&&this.getTimezoneOffset(i)%36e5==0)return i["setUTC"+t](e);let s=this.getTimezoneOffset(i),h=i.getTime()-s;i.setTime(h),i["setUTC"+t](e);let r=this.getTimezoneOffset(i);return h=i.getTime()+r,i.setTime(h)}return this.useUTC||p&&"FullYear"===t?i["setUTC"+t](e):i["set"+t](e)}update(t={}){let i=d(t.useUTC,!0);this.options=t=a(!0,this.options,t),this.Date=t.Date||e.Date||Date,this.useUTC=i,this.timezoneOffset=i&&t.timezoneOffset||void 0,this.getTimezoneOffset=this.timezoneOffsetFunction(),this.variableTimezone=i&&!(!t.getTimezoneOffset&&!t.timezone)}makeTime(t,i,e,s,h,r){let n,o,a;return this.useUTC?(n=this.Date.UTC.apply(0,arguments),o=this.getTimezoneOffset(n),n+=o,o!==(a=this.getTimezoneOffset(n))?n+=a-o:o-36e5!==this.getTimezoneOffset(n-36e5)||g||(n-=36e5)):n=new this.Date(t,i,d(e,1),d(s,0),d(h,0),d(r,0)).getTime(),n}timezoneOffsetFunction(){let t=this,i=this.options,e=i.getTimezoneOffset;return this.useUTC?i.timezone?t=>{try{let e=`shortOffset,${i.timezone||""}`,[s,h,r,o,a=0]=(m.formatCache[e]=m.formatCache[e]||Intl.DateTimeFormat("en",{timeZone:i.timezone,timeZoneName:"shortOffset"})).format(t).split(/(GMT|:)/).map(Number),l=-36e5*(r+a/60);if(n(l))return l}catch(t){h(34)}return 0}:this.useUTC&&e?t=>6e4*e(t.valueOf()):()=>6e4*(t.timezoneOffset||0):t=>6e4*new Date(t.toString()).getTimezoneOffset()}dateFormat(i,e,h){if(!s(e)||isNaN(e))return t.defaultOptions.lang&&t.defaultOptions.lang.invalidDate||"";i=d(i,"%Y-%m-%d %H:%M:%S");let n=this,o=new this.Date(e),a=this.get("Hours",o),u=this.get("Day",o),f=this.get("Date",o),p=this.get("Month",o),g=this.get("FullYear",o),m=t.defaultOptions.lang,b=m&&m.weekdays,x=m&&m.shortWeekdays;return l(r({a:x?x[u]:b[u].substr(0,3),A:b[u],d:c(f),e:c(f,2," "),w:u,b:m.shortMonths[p],B:m.months[p],m:c(p+1),o:p+1,y:g.toString().substr(2,2),Y:g,H:c(a),k:a,I:c(a%12||12),l:a%12||12,M:c(this.get("Minutes",o)),p:a<12?"AM":"PM",P:a<12?"am":"pm",S:c(this.get("Seconds",o)),L:c(Math.floor(e%1e3),3)},t.dateFormats),(function(t,s){for(;-1!==i.indexOf("%"+s);)i=i.replace("%"+s,"function"==typeof t?t.call(n,e):t)})),h?i.substr(0,1).toUpperCase()+i.substr(1):i}resolveDTLFormat(t){return o(t,!0)?t:{main:(t=u(t))[0],from:t[1],to:t[2]}}getTimeTicks(t,i,e,h){let n,o,a,l,c=this,u=[],p={},g=new(0,c.Date)(i),m=t.unitRange,b=t.count||1;if(h=d(h,1),s(i)){c.set("Milliseconds",g,m>=f.second?0:b*Math.floor(c.get("Milliseconds",g)/b)),m>=f.second&&c.set("Seconds",g,m>=f.minute?0:b*Math.floor(c.get("Seconds",g)/b)),m>=f.minute&&c.set("Minutes",g,m>=f.hour?0:b*Math.floor(c.get("Minutes",g)/b)),m>=f.hour&&c.set("Hours",g,m>=f.day?0:b*Math.floor(c.get("Hours",g)/b)),m>=f.day&&c.set("Date",g,m>=f.month?1:Math.max(1,b*Math.floor(c.get("Date",g)/b))),m>=f.month&&(c.set("Month",g,m>=f.year?0:b*Math.floor(c.get("Month",g)/b)),o=c.get("FullYear",g)),m>=f.year&&(o-=o%b,c.set("FullYear",g,o)),m===f.week&&(l=c.get("Day",g),c.set("Date",g,c.get("Date",g)-l+h+(l<h?-7:0))),o=c.get("FullYear",g);let t=c.get("Month",g),r=c.get("Date",g),d=c.get("Hours",g);i=g.getTime(),(c.variableTimezone||!c.useUTC)&&s(e)&&(a=e-i>4*f.month||c.getTimezoneOffset(i)!==c.getTimezoneOffset(e));let x=g.getTime();for(n=1;x<e;)u.push(x),m===f.year?x=c.makeTime(o+n*b,0):m===f.month?x=c.makeTime(o,t+n*b):!a||m!==f.day&&m!==f.week?a&&m===f.hour&&b>1?x=c.makeTime(o,t,r,d+n*b):x+=m*b:x=c.makeTime(o,t,r+n*b*(m===f.day?1:7)),n++;u.push(x),m<=f.hour&&u.length<1e4&&u.forEach((function(t){t%18e5==0&&"000000000"===c.dateFormat("%H%M%S%L",t)&&(p[t]="day")}))}return u.info=r(t,{higherRanks:p,totalRange:m*b}),u}getDateFormat(t,i,e,s){let h=this.dateFormat("%m-%d %H:%M:%S.%L",i),r="01-01 00:00:00.000",n={millisecond:15,second:12,minute:9,hour:6,day:3},o="millisecond",a=o;for(o in f){if(t===f.week&&+this.dateFormat("%w",i)===e&&h.substr(6)===r.substr(6)){o="week";break}if(f[o]>t){o=a;break}if(n[o]&&h.substr(n[o])!==r.substr(n[o]))break;"week"!==o&&(a=o)}return this.resolveDTLFormat(s[o]).main}}return m.formatCache={},m})),e(i,"Core/Defaults.js",[i["Core/Chart/ChartDefaults.js"],i["Core/Globals.js"],i["Core/Color/Palettes.js"],i["Core/Time.js"],i["Core/Utilities.js"]],(function(t,i,e,s,h){let{isTouchDevice:r}=i,{fireEvent:n,merge:o}=h,a={colors:e.colors,symbols:["circle","diamond","square","triangle","triangle-down"],lang:{loading:"Loading...",months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],weekdays:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],decimalPoint:".",numericSymbols:["k","M","G","T","P","E"],resetZoom:"Reset zoom",resetZoomTitle:"Reset zoom level 1:1",thousandsSep:" "},global:{buttonTheme:{fill:"#f7f7f7",padding:8,r:2,stroke:"#cccccc","stroke-width":1,style:{color:"#333333",cursor:"pointer",fontSize:"0.8em",fontWeight:"normal"},states:{hover:{fill:"#e6e6e6"},select:{fill:"#e6e9ff",style:{color:"#000000",fontWeight:"bold"}},disabled:{style:{color:"#cccccc"}}}}},time:{Date:void 0,getTimezoneOffset:void 0,timezone:void 0,timezoneOffset:0,useUTC:!0},chart:t,title:{style:{color:"#333333",fontWeight:"bold"},text:"Chart title",align:"center",margin:15,widthAdjust:-44},subtitle:{style:{color:"#666666",fontSize:"0.8em"},text:"",align:"center",widthAdjust:-44},caption:{margin:15,style:{color:"#666666",fontSize:"0.8em"},text:"",align:"left",verticalAlign:"bottom"},plotOptions:{},legend:{enabled:!0,align:"center",alignColumns:!0,className:"highcharts-no-tooltip",events:{},layout:"horizontal",itemMarginBottom:2,itemMarginTop:2,labelFormatter:function(){return this.name},borderColor:"#999999",borderRadius:0,navigation:{style:{fontSize:"0.8em"},activeColor:"#0022ff",inactiveColor:"#cccccc"},itemStyle:{color:"#333333",cursor:"pointer",fontSize:"0.8em",textDecoration:"none",textOverflow:"ellipsis"},itemHoverStyle:{color:"#000000"},itemHiddenStyle:{color:"#666666",textDecoration:"line-through"},shadow:!1,itemCheckboxStyle:{position:"absolute",width:"13px",height:"13px"},squareSymbol:!0,symbolPadding:5,verticalAlign:"bottom",x:0,y:0,title:{style:{fontSize:"0.8em",fontWeight:"bold"}}},loading:{labelStyle:{fontWeight:"bold",position:"relative",top:"45%"},style:{position:"absolute",backgroundColor:"#ffffff",opacity:.5,textAlign:"center"}},tooltip:{enabled:!0,animation:{duration:300,easing:t=>Math.sqrt(1-Math.pow(t-1,2))},borderRadius:3,dateTimeLabelFormats:{millisecond:"%A, %e %b, %H:%M:%S.%L",second:"%A, %e %b, %H:%M:%S",minute:"%A, %e %b, %H:%M",hour:"%A, %e %b, %H:%M",day:"%A, %e %b %Y",week:"Week from %A, %e %b %Y",month:"%B %Y",year:"%Y"},footerFormat:"",headerShape:"callout",hideDelay:500,padding:8,shape:"callout",shared:!1,snap:r?25:10,headerFormat:'<span style="font-size: 0.8em">{point.key}</span><br/>',pointFormat:'<span style="color:{point.color}">●</span> {series.name}: <b>{point.y}</b><br/>',backgroundColor:"#ffffff",borderWidth:void 0,shadow:!0,stickOnContact:!1,style:{color:"#333333",cursor:"default",fontSize:"0.8em"},useHTML:!1},credits:{enabled:!0,href:"https://www.highcharts.com?credits",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#999999",fontSize:"0.6em"},text:"Highcharts.com"}};a.chart.styledMode=!1;let l=new s(a.time);return{defaultOptions:a,defaultTime:l,getOptions:function(){return a},setOptions:function(t){return n(i,"setOptions",{options:t}),o(!0,a,t),(t.time||t.global)&&(i.time?i.time.update(o(a.global,a.time,t.global,t.time)):i.time=l),a}}})),e(i,"Core/Color/Color.js",[i["Core/Globals.js"],i["Core/Utilities.js"]],(function(t,i){let{isNumber:e,merge:s,pInt:h}=i;class r{static parse(t){return t?new r(t):r.None}constructor(i){let e,s,h,n;this.rgba=[NaN,NaN,NaN,NaN],this.input=i;let o=t.Color;if(o&&o!==r)return new o(i);if("object"==typeof i&&void 0!==i.stops)this.stops=i.stops.map((t=>new r(t[1])));else if("string"==typeof i){if(this.input=i=r.names[i.toLowerCase()]||i,"#"===i.charAt(0)){let t=i.length,e=parseInt(i.substr(1),16);7===t?s=[(16711680&e)>>16,(65280&e)>>8,255&e,1]:4===t&&(s=[(3840&e)>>4|(3840&e)>>8,(240&e)>>4|240&e,(15&e)<<4|15&e,1])}if(!s)for(h=r.parsers.length;h--&&!s;)(e=(n=r.parsers[h]).regex.exec(i))&&(s=n.parse(e))}s&&(this.rgba=s)}get(t){let i=this.input,h=this.rgba;if("object"==typeof i&&void 0!==this.stops){let e=s(i);return e.stops=[].slice.call(e.stops),this.stops.forEach(((i,s)=>{e.stops[s]=[e.stops[s][0],i.get(t)]})),e}return h&&e(h[0])?"rgb"===t||!t&&1===h[3]?"rgb("+h[0]+","+h[1]+","+h[2]+")":"a"===t?`${h[3]}`:"rgba("+h.join(",")+")":i}brighten(t){let i=this.rgba;if(this.stops)this.stops.forEach((function(i){i.brighten(t)}));else if(e(t)&&0!==t)for(let e=0;e<3;e++)i[e]+=h(255*t),i[e]<0&&(i[e]=0),i[e]>255&&(i[e]=255);return this}setOpacity(t){return this.rgba[3]=t,this}tweenTo(t,i){let s=this.rgba,h=t.rgba;if(!e(s[0])||!e(h[0]))return t.input||"none";let r=1!==h[3]||1!==s[3];return(r?"rgba(":"rgb(")+Math.round(h[0]+(s[0]-h[0])*(1-i))+","+Math.round(h[1]+(s[1]-h[1])*(1-i))+","+Math.round(h[2]+(s[2]-h[2])*(1-i))+(r?","+(h[3]+(s[3]-h[3])*(1-i)):"")+")"}}return r.names={white:"#ffffff",black:"#000000"},r.parsers=[{regex:/rgba\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d?(?:\.\d+)?)\s*\)/,parse:function(t){return[h(t[1]),h(t[2]),h(t[3]),parseFloat(t[4],10)]}},{regex:/rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)/,parse:function(t){return[h(t[1]),h(t[2]),h(t[3]),1]}}],r.None=new r(""),r})),e(i,"Core/Animation/Fx.js",[i["Core/Color/Color.js"],i["Core/Globals.js"],i["Core/Utilities.js"]],(function(t,i,e){let{parse:s}=t,{win:h}=i,{isNumber:r,objectEach:n}=e;class o{constructor(t,i,e){this.pos=NaN,this.options=i,this.elem=t,this.prop=e}dSetter(){let t=this.paths,i=t&&t[0],e=t&&t[1],s=this.now||0,h=[];if(1!==s&&i&&e)if(i.length===e.length&&s<1)for(let t=0;t<e.length;t++){let n=i[t],o=e[t],a=[];for(let t=0;t<o.length;t++){let i=n[t],e=o[t];a[t]=r(i)&&r(e)&&("A"!==o[0]||4!==t&&5!==t)?i+s*(e-i):e}h.push(a)}else h=e;else h=this.toD||[];this.elem.attr("d",h,void 0,!0)}update(){let t=this.elem,i=this.prop,e=this.now,s=this.options.step;this[i+"Setter"]?this[i+"Setter"]():t.attr?t.element&&t.attr(i,e,null,!0):t.style[i]=e+this.unit,s&&s.call(t,e,this)}run(t,i,e){let s=this,r=s.options,n=function(t){return!n.stopped&&s.step(t)},a=h.requestAnimationFrame||function(t){setTimeout(t,13)},l=function(){for(let t=0;t<o.timers.length;t++)o.timers[t]()||o.timers.splice(t--,1);o.timers.length&&a(l)};t!==i||this.elem["forceAnimate:"+this.prop]?(this.startTime=+new Date,this.start=t,this.end=i,this.unit=e,this.now=this.start,this.pos=0,n.elem=this.elem,n.prop=this.prop,n()&&1===o.timers.push(n)&&a(l)):(delete r.curAnim[this.prop],r.complete&&0===Object.keys(r.curAnim).length&&r.complete.call(this.elem))}step(t){let i,e,s=+new Date,h=this.options,r=this.elem,o=h.complete,a=h.duration,l=h.curAnim;return r.attr&&!r.element?i=!1:t||s>=a+this.startTime?(this.now=this.end,this.pos=1,this.update(),l[this.prop]=!0,e=!0,n(l,(function(t){!0!==t&&(e=!1)})),e&&o&&o.call(r),i=!1):(this.pos=h.easing((s-this.startTime)/a),this.now=this.start+(this.end-this.start)*this.pos,this.update(),i=!0),i}initPath(t,i,e){let s,h,n,o,a=t.startX,l=t.endX,c=e.slice(),d=t.isArea,u=d?2:1,f=i&&e.length>i.length&&e.hasStackedCliffs,p=i&&i.slice();if(!p||f)return[c,c];function g(t,i){for(;t.length<h;){let e=t[0],s=i[h-t.length];if(s&&"M"===e[0]&&(t[0]="C"===s[0]?["C",e[1],e[2],e[1],e[2],e[1],e[2]]:["L",e[1],e[2]]),t.unshift(e),d){let i=t.pop();t.push(t[t.length-1],i)}}}function m(t){for(;t.length<h;){let i=t[Math.floor(t.length/u)-1].slice();if("C"===i[0]&&(i[1]=i[5],i[2]=i[6]),d){let e=t[Math.floor(t.length/u)].slice();t.splice(t.length/2,0,i,e)}else t.push(i)}}if(a&&l&&l.length){for(n=0;n<a.length;n++){if(a[n]===l[0]){s=n;break}if(a[0]===l[l.length-a.length+n]){s=n,o=!0;break}if(a[a.length-1]===l[l.length-a.length+n]){s=a.length-n;break}}void 0===s&&(p=[])}return p.length&&r(s)&&(h=c.length+s*u,o?(g(p,c),m(c)):(g(c,p),m(p))),[p,c]}fillSetter(){o.prototype.strokeSetter.apply(this,arguments)}strokeSetter(){this.elem.attr(this.prop,s(this.start).tweenTo(s(this.end),this.pos),void 0,!0)}}return o.timers=[],o})),e(i,"Core/Animation/AnimationUtilities.js",[i["Core/Animation/Fx.js"],i["Core/Utilities.js"]],(function(t,i){let{defined:e,getStyle:s,isArray:h,isNumber:r,isObject:n,merge:o,objectEach:a,pick:l}=i;function c(t){return n(t)?o({duration:500,defer:0},t):{duration:t?500:0,defer:0}}function d(i,e){let s=t.timers.length;for(;s--;)t.timers[s].elem!==i||e&&e!==t.timers[s].prop||(t.timers[s].stopped=!0)}return{animate:function(i,e,l){let c,u,f,p,g="";n(l)||(p=arguments,l={duration:p[2],easing:p[3],complete:p[4]}),r(l.duration)||(l.duration=400),l.easing="function"==typeof l.easing?l.easing:Math[l.easing]||Math.easeInOutSine,l.curAnim=o(e),a(e,(function(r,n){d(i,n),f=new t(i,l,n),u=void 0,"d"===n&&h(e.d)?(f.paths=f.initPath(i,i.pathArray,e.d),f.toD=e.d,c=0,u=1):i.attr?c=i.attr(n):(c=parseFloat(s(i,n))||0,"opacity"!==n&&(g="px")),u||(u=r),"string"==typeof u&&u.match("px")&&(u=u.replace(/px/g,"")),f.run(c,u,g)}))},animObject:c,getDeferredAnimation:function(t,i,s){let h=c(i),r=0,o=0;return(s?[s]:t.series).forEach((t=>{let s=c(t.options.animation);r=n(i)&&e(i.defer)?h.defer:Math.max(r,s.duration+s.defer),o=Math.min(h.duration,s.duration)})),t.renderer.forExport&&(r=0),{defer:Math.max(0,r-o),duration:Math.min(r,o)}},setAnimation:function(t,i){i.renderer.globalAnimation=l(t,i.options.chart.animation,!0)},stop:d}})),e(i,"Core/Renderer/HTML/AST.js",[i["Core/Globals.js"],i["Core/Utilities.js"]],(function(t,i){let{SVG_NS:e,win:s}=t,{attr:h,createElement:r,css:n,error:o,isFunction:a,isString:l,objectEach:c,splat:d}=i,{trustedTypes:u}=s,f=u&&a(u.createPolicy)&&u.createPolicy("highcharts",{createHTML:t=>t}),p=f?f.createHTML(""):"",g=function(){try{return!!(new DOMParser).parseFromString(p,"text/html")}catch(t){return!1}}();class m{static filterUserAttributes(t){return c(t,((i,e)=>{let s=!0;-1===m.allowedAttributes.indexOf(e)&&(s=!1),-1!==["background","dynsrc","href","lowsrc","src"].indexOf(e)&&(s=l(i)&&m.allowedReferences.some((t=>0===i.indexOf(t)))),s||(o(33,!1,void 0,{"Invalid attribute in config":`${e}`}),delete t[e]),l(i)&&t[e]&&(t[e]=i.replace(/</g,"&lt;"))})),t}static parseStyle(t){return t.split(";").reduce(((t,i)=>{let e=i.split(":").map((t=>t.trim())),s=e.shift();return s&&e.length&&(t[s.replace(/-([a-z])/g,(t=>t[1].toUpperCase()))]=e.join(":")),t}),{})}static setElementHTML(t,i){t.innerHTML=m.emptyHTML,i&&new m(i).addToDOM(t)}constructor(t){this.nodes="string"==typeof t?this.parseMarkup(t):t}addToDOM(i){return function i(s,r){let a;return d(s).forEach((function(s){let l,d=s.tagName,u=s.textContent?t.doc.createTextNode(s.textContent):void 0,f=m.bypassHTMLFiltering;if(d)if("#text"===d)l=u;else if(-1!==m.allowedTags.indexOf(d)||f){let o=t.doc.createElementNS("svg"===d?e:r.namespaceURI||e,d),a=s.attributes||{};c(s,(function(t,i){"tagName"!==i&&"attributes"!==i&&"children"!==i&&"style"!==i&&"textContent"!==i&&(a[i]=t)})),h(o,f?a:m.filterUserAttributes(a)),s.style&&n(o,s.style),u&&o.appendChild(u),i(s.children||[],o),l=o}else o(33,!1,void 0,{"Invalid tagName in config":d});l&&r.appendChild(l),a=l})),a}(this.nodes,i)}parseMarkup(t){let i,e=[];if(t=t.trim().replace(/ style=(["'])/g," data-style=$1"),g)i=(new DOMParser).parseFromString(f?f.createHTML(t):t,"text/html");else{let e=r("div");e.innerHTML=t,i={body:e}}let s=(t,i)=>{let e=t.nodeName.toLowerCase(),h={tagName:e};"#text"===e&&(h.textContent=t.textContent||"");let r=t.attributes;if(r){let t={};[].forEach.call(r,(i=>{"data-style"===i.name?h.style=m.parseStyle(i.value):t[i.name]=i.value})),h.attributes=t}if(t.childNodes.length){let i=[];[].forEach.call(t.childNodes,(t=>{s(t,i)})),i.length&&(h.children=i)}i.push(h)};return[].forEach.call(i.body.childNodes,(t=>s(t,e))),e}}return m.allowedAttributes=["alt","aria-controls","aria-describedby","aria-expanded","aria-haspopup","aria-hidden","aria-label","aria-labelledby","aria-live","aria-pressed","aria-readonly","aria-roledescription","aria-selected","class","clip-path","color","colspan","cx","cy","d","dx","dy","disabled","fill","filterUnits","flood-color","flood-opacity","height","href","id","in","in2","markerHeight","markerWidth","offset","opacity","operator","orient","padding","paddingLeft","paddingRight","patternUnits","r","radius","refX","refY","role","scope","slope","src","startOffset","stdDeviation","stroke","stroke-linecap","stroke-width","style","tableValues","result","rowspan","summary","target","tabindex","text-align","text-anchor","textAnchor","textLength","title","type","valign","width","x","x1","x2","xlink:href","y","y1","y2","zIndex"],m.allowedReferences=["https://","http://","mailto:","/","../","./","#"],m.allowedTags=["a","abbr","b","br","button","caption","circle","clipPath","code","dd","defs","div","dl","dt","em","feComponentTransfer","feComposite","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feMorphology","feOffset","feMerge","feMergeNode","filter","h1","h2","h3","h4","h5","h6","hr","i","img","li","linearGradient","marker","ol","p","path","pattern","pre","rect","small","span","stop","strong","style","sub","sup","svg","table","text","textPath","thead","title","tbody","tspan","td","th","tr","u","ul","#text"],m.emptyHTML=p,m.bypassHTMLFiltering=!1,m})),e(i,"Core/Templating.js",[i["Core/Defaults.js"],i["Core/Utilities.js"]],(function(t,i){let{defaultOptions:e,defaultTime:s}=t,{extend:h,getNestedProperty:r,isArray:n,isNumber:o,isObject:a,pick:l,pInt:c}=i,d={add:(t,i)=>t+i,divide:(t,i)=>0!==i?t/i:"",eq:(t,i)=>t==i,each:function(t){let i=arguments[arguments.length-1];return!!n(t)&&t.map(((e,s)=>u(i.body,h(a(e)?e:{"@this":e},{"@index":s,"@first":0===s,"@last":s===t.length-1})))).join("")},ge:(t,i)=>t>=i,gt:(t,i)=>t>i,if:t=>!!t,le:(t,i)=>t<=i,lt:(t,i)=>t<i,multiply:(t,i)=>t*i,ne:(t,i)=>t!=i,subtract:(t,i)=>t-i,unless:t=>!t};function u(t="",i,h){let n,o,a,c=/\{([\w\:\.\,;\-\/<>%@"'’= #\(\)]+)\}/g,p=/\(([\w\:\.\,;\-\/<>%@"'= ]+)\)/g,g=[],m=/f$/,b=/\.(\d)/,x=e.lang,v=h&&h.time||s,y=h&&h.numberFormatter||f,M=(t="")=>{let e;return"true"===t||"false"!==t&&((e=Number(t)).toString()===t?e:r(t,i))},w=0;for(;null!==(n=c.exec(t));){let e=p.exec(n[1]);e&&(n=e,a=!0),o&&o.isBlock||(o={ctx:i,expression:n[1],find:n[0],isBlock:"#"===n[1].charAt(0),start:n.index,startInner:n.index+n[0].length,length:n[0].length});let s=n[1].split(" ")[0].replace("#","");d[s]&&(o.isBlock&&s===o.fn&&w++,o.fn||(o.fn=s));let h="else"===n[1];if(o.isBlock&&o.fn&&(n[1]===`/${o.fn}`||h))if(w)!h&&w--;else{let i=o.startInner,e=t.substr(i,n.index-i);void 0===o.body?(o.body=e,o.startInner=n.index+n[0].length):o.elseBody=e,o.find+=e+n[0],h||(g.push(o),o=void 0)}else o.isBlock||g.push(o);if(e&&!o?.isBlock)break}return g.forEach((e=>{let s,r,{body:n,elseBody:o,expression:a,fn:c}=e;if(c){let t=[e],l=a.split(" ");for(r=d[c].length;r--;)t.unshift(M(l[r+1]));s=d[c].apply(i,t),e.isBlock&&"boolean"==typeof s&&(s=u(s?n:o,i,h))}else{let t=a.split(":");if(s=M(t.shift()||""),t.length&&"number"==typeof s){let i=t.join(":");if(m.test(i)){let t=parseInt((i.match(b)||["","-1"])[1],10);null!==s&&(s=y(s,t,x.decimalPoint,i.indexOf(",")>-1?x.thousandsSep:""))}else s=v.dateFormat(i,s)}}t=t.replace(e.find,l(s,""))})),a?u(t,i,h):t}function f(t,i,s,h){let r,n;i=+i;let a=e.lang,d=((t=+t||0).toString().split(".")[1]||"").split("e")[0].length,u=t.toString().split("e"),f=i;-1===i?i=Math.min(d,20):o(i)?i&&u[1]&&u[1]<0&&((n=i+ +u[1])>=0?(u[0]=(+u[0]).toExponential(n).split("e")[0],i=n):(u[0]=u[0].split(".")[0]||0,t=i<20?(u[0]*Math.pow(10,u[1])).toFixed(i):0,u[1]=0)):i=2;let p=(Math.abs(u[1]?u[0]:t)+Math.pow(10,-Math.max(i,d)-1)).toFixed(i),g=String(c(p)),m=g.length>3?g.length%3:0;return s=l(s,a.decimalPoint),h=l(h,a.thousandsSep),r=(t<0?"-":"")+(m?g.substr(0,m)+h:""),0>+u[1]&&!f?r="0":r+=g.substr(m).replace(/(\d{3})(?=\d)/g,"$1"+h),i?r+=s+p.slice(-i):0==+r&&(r="0"),u[1]&&0!=+r&&(r+="e"+u[1]),r}return{dateFormat:function(t,i,e){return s.dateFormat(t,i,e)},format:u,helpers:d,numberFormat:f}})),e(i,"Core/Renderer/RendererRegistry.js",[i["Core/Globals.js"]],(function(t){var i,e;let s;return(e=i||(i={})).rendererTypes={},e.getRendererType=function(t=s){return e.rendererTypes[t]||e.rendererTypes[s]},e.registerRendererType=function(i,h,r){e.rendererTypes[i]=h,(!s||r)&&(s=i,t.Renderer=h)},i})),e(i,"Core/Renderer/RendererUtilities.js",[i["Core/Utilities.js"]],(function(t){var i;let{clamp:e,pick:s,pushUnique:h,stableSort:r}=t;return(i||(i={})).distribute=function t(i,n,o){let a,l,c,d,u,f,p=i,g=p.reducedLen||n,m=(t,i)=>t.target-i.target,b=[],x=i.length,v=[],y=b.push,M=!0,w=0;for(a=x;a--;)w+=i[a].size;if(w>g){for(r(i,((t,i)=>(i.rank||0)-(t.rank||0))),c=(f=i[0].rank===i[i.length-1].rank)?x/2:-1,l=f?c:x-1;c&&w>g;)d=i[a=Math.floor(l)],h(v,a)&&(w-=d.size),l+=c,f&&l>=i.length&&(c/=2,l=c);v.sort(((t,i)=>i-t)).forEach((t=>y.apply(b,i.splice(t,1))))}for(r(i,m),i=i.map((t=>({size:t.size,targets:[t.target],align:s(t.align,.5)})));M;){for(a=i.length;a--;)d=i[a],u=(Math.min.apply(0,d.targets)+Math.max.apply(0,d.targets))/2,d.pos=e(u-d.size*d.align,0,n-d.size);for(a=i.length,M=!1;a--;)a>0&&i[a-1].pos+i[a-1].size>i[a].pos&&(i[a-1].size+=i[a].size,i[a-1].targets=i[a-1].targets.concat(i[a].targets),i[a-1].align=.5,i[a-1].pos+i[a-1].size>n&&(i[a-1].pos=n-i[a-1].size),i.splice(a,1),M=!0)}return y.apply(p,b),a=0,i.some((i=>{let e=0;return(i.targets||[]).some((()=>(p[a].pos=i.pos+e,void 0!==o&&Math.abs(p[a].pos-p[a].target)>o?(p.slice(0,a+1).forEach((t=>delete t.pos)),p.reducedLen=(p.reducedLen||n)-.1*n,p.reducedLen>.1*n&&t(p,n,o),!0):(e+=p[a].size,a++,!1))))})),r(p,m),p},i})),e(i,"Core/Renderer/SVG/SVGElement.js",[i["Core/Animation/AnimationUtilities.js"],i["Core/Color/Color.js"],i["Core/Globals.js"],i["Core/Utilities.js"]],(function(t,i,e,s){let{animate:h,animObject:r,stop:n}=t,{deg2rad:o,doc:a,svg:l,SVG_NS:c,win:d}=e,{addEvent:u,attr:f,createElement:p,crisp:g,css:m,defined:b,erase:x,extend:v,fireEvent:y,isArray:M,isFunction:w,isObject:k,isString:S,merge:O,objectEach:A,pick:L,pInt:C,pushUnique:j,replaceNested:T,syncTimeout:P,uniqueKey:E}=s;class z{_defaultGetter(t){let i=L(this[t+"Value"],this[t],this.element?this.element.getAttribute(t):null,0);return/^-?[\d\.]+$/.test(i)&&(i=parseFloat(i)),i}_defaultSetter(t,i,e){e.setAttribute(i,t)}add(t){let i,e=this.renderer,s=this.element;return t&&(this.parentGroup=t),void 0!==this.textStr&&"text"===this.element.nodeName&&e.buildText(this),this.added=!0,(!t||t.handleZ||this.zIndex)&&(i=this.zIndexSetter()),i||(t?t.element:e.box).appendChild(s),this.onAdd&&this.onAdd(),this}addClass(t,i){let e=i?"":this.attr("class")||"";return(t=(t||"").split(/ /g).reduce((function(t,i){return-1===e.indexOf(i)&&t.push(i),t}),e?[e]:[]).join(" "))!==e&&this.attr("class",t),this}afterSetters(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)}align(t,i,e,s=!0){let h,r,n,o,a={},l=this.renderer,c=l.alignedObjects,d=!!t;t?(this.alignOptions=t,this.alignByTranslate=i,this.alignTo=e):(t=this.alignOptions||{},i=this.alignByTranslate,e=this.alignTo);let u=!e||S(e)?e||"renderer":void 0;u&&(d&&j(c,this),e=void 0);let f=L(e,l[u],l),p=t.align,g=t.verticalAlign;return h=(f.x||0)+(t.x||0),r=(f.y||0)+(t.y||0),"right"===p?n=1:"center"===p&&(n=2),n&&(h+=((f.width||0)-(t.width||0))/n),a[i?"translateX":"x"]=Math.round(h),"bottom"===g?o=1:"middle"===g&&(o=2),o&&(r+=((f.height||0)-(t.height||0))/o),a[i?"translateY":"y"]=Math.round(r),s&&(this[this.placed?"animate":"attr"](a),this.placed=!0),this.alignAttr=a,this}alignSetter(t){let i={left:"start",center:"middle",right:"end"};i[t]&&(this.alignValue=t,this.element.setAttribute("text-anchor",i[t]))}animate(t,i,e){let s=r(L(i,this.renderer.globalAnimation,!0)),n=s.defer;return a.hidden&&(s.duration=0),0!==s.duration?(e&&(s.complete=e),P((()=>{this.element&&h(this,t,s)}),n)):(this.attr(t,void 0,e||s.complete),A(t,(function(t,i){s.step&&s.step.call(this,t,{prop:i,pos:1,elem:this})}),this)),this}applyTextOutline(t){let i=this.element;-1!==t.indexOf("contrast")&&(t=t.replace(/contrast/g,this.renderer.getContrast(i.style.fill)));let s=t.split(" "),h=s[s.length-1],r=s[0];if(r&&"none"!==r&&e.svg){this.fakeTS=!0,r=r.replace(/(^[\d\.]+)(.*?)$/g,(function(t,i,e){return 2*Number(i)+e})),this.removeTextOutline();let t=a.createElementNS(c,"tspan");f(t,{class:"highcharts-text-outline",fill:h,stroke:h,"stroke-width":r,"stroke-linejoin":"round"});let e=i.querySelector("textPath")||i;[].forEach.call(e.childNodes,(i=>{let e=i.cloneNode(!0);e.removeAttribute&&["fill","stroke","stroke-width","stroke"].forEach((t=>e.removeAttribute(t))),t.appendChild(e)}));let s=0;[].forEach.call(e.querySelectorAll("text tspan"),(t=>{s+=Number(t.getAttribute("dy"))}));let n=a.createElementNS(c,"tspan");n.textContent="​",f(n,{x:Number(i.getAttribute("x")),dy:-s}),t.appendChild(n),e.insertBefore(t,e.firstChild)}}attr(t,i,e,s){let h,r,o,{element:a}=this,l=z.symbolCustomAttribs,c=this;return"string"==typeof t&&void 0!==i&&(h=t,(t={})[h]=i),"string"==typeof t?c=(this[t+"Getter"]||this._defaultGetter).call(this,t,a):(A(t,(function(i,e){o=!1,s||n(this,e),this.symbolName&&-1!==l.indexOf(e)&&(r||(this.symbolAttr(t),r=!0),o=!0),this.rotation&&("x"===e||"y"===e)&&(this.doTransform=!0),o||(this[e+"Setter"]||this._defaultSetter).call(this,i,e,a)}),this),this.afterSetters()),e&&e.call(this),c}clip(t){if(t&&!t.clipPath){let i=E()+"-",e=this.renderer.createElement("clipPath").attr({id:i}).add(this.renderer.defs);v(t,{clipPath:e,id:i,count:0}),t.add(e)}return this.attr("clip-path",t?`url(${this.renderer.url}#${t.id})`:"none")}crisp(t,i){i=Math.round(i||t.strokeWidth||0);let e=t.x||this.x||0,s=t.y||this.y||0,h=(t.width||this.width||0)+e,r=(t.height||this.height||0)+s,n=g(e,i),o=g(s,i);return v(t,{x:n,y:o,width:g(h,i)-n,height:g(r,i)-o}),b(t.strokeWidth)&&(t.strokeWidth=i),t}complexColor(t,e,s){let h,r,n,o,a,l,c,d,u,f,p,g=this.renderer,m=[];y(this.renderer,"complexColor",{args:arguments},(function(){if(t.radialGradient?r="radialGradient":t.linearGradient&&(r="linearGradient"),r){if(n=t[r],a=g.gradients,l=t.stops,u=s.radialReference,M(n)&&(t[r]=n={x1:n[0],y1:n[1],x2:n[2],y2:n[3],gradientUnits:"userSpaceOnUse"}),"radialGradient"===r&&u&&!b(n.gradientUnits)&&(o=n,n=O(n,g.getRadialAttr(u,o),{gradientUnits:"userSpaceOnUse"})),A(n,(function(t,i){"id"!==i&&m.push(i,t)})),A(l,(function(t){m.push(t)})),a[m=m.join(",")])f=a[m].attr("id");else{n.id=f=E();let t=a[m]=g.createElement(r).attr(n).add(g.defs);t.radAttr=o,t.stops=[],l.forEach((function(e){0===e[1].indexOf("rgba")?(c=(h=i.parse(e[1])).get("rgb"),d=h.get("a")):(c=e[1],d=1);let s=g.createElement("stop").attr({offset:e[0],"stop-color":c,"stop-opacity":d}).add(t);t.stops.push(s)}))}p="url("+g.url+"#"+f+")",s.setAttribute(e,p),s.gradient=m,t.toString=function(){return p}}}))}css(t){let i,e=this.styles,s={},h=this.element,r=!e;if(e&&A(t,(function(t,i){e&&e[i]!==t&&(s[i]=t,r=!0)})),r){e&&(t=v(e,s)),null===t.width||"auto"===t.width?delete this.textWidth:"text"===h.nodeName.toLowerCase()&&t.width&&(i=this.textWidth=C(t.width)),v(this.styles,t),i&&!l&&this.renderer.forExport&&delete t.width;let r=O(t);h.namespaceURI===this.SVG_NS&&(["textOutline","textOverflow","width"].forEach((t=>r&&delete r[t])),r.color&&(r.fill=r.color)),m(h,r)}return this.added&&("text"===this.element.nodeName&&this.renderer.buildText(this),t.textOutline&&this.applyTextOutline(t.textOutline)),this}dashstyleSetter(t){let i,e=this["stroke-width"];if("inherit"===e&&(e=1),t=t&&t.toLowerCase()){let s=t.replace("shortdashdotdot","3,1,1,1,1,1,").replace("shortdashdot","3,1,1,1").replace("shortdot","1,1,").replace("shortdash","3,1,").replace("longdash","8,3,").replace(/dot/g,"1,3,").replace("dash","4,3,").replace(/,$/,"").split(",");for(i=s.length;i--;)s[i]=""+C(s[i])*L(e,NaN);t=s.join(",").replace(/NaN/g,"none"),this.element.setAttribute("stroke-dasharray",t)}}destroy(){let t,i,e=this,s=e.element||{},h=e.renderer,r=s.ownerSVGElement,o="SPAN"===s.nodeName&&e.parentGroup||void 0;if(s.onclick=s.onmouseout=s.onmouseover=s.onmousemove=s.point=null,n(e),e.clipPath&&r){let t=e.clipPath;[].forEach.call(r.querySelectorAll("[clip-path],[CLIP-PATH]"),(function(i){i.getAttribute("clip-path").indexOf(t.element.id)>-1&&i.removeAttribute("clip-path")})),e.clipPath=t.destroy()}if(e.connector=e.connector?.destroy(),e.stops){for(i=0;i<e.stops.length;i++)e.stops[i].destroy();e.stops.length=0,e.stops=void 0}for(e.safeRemoveChild(s);o&&o.div&&0===o.div.childNodes.length;)t=o.parentGroup,e.safeRemoveChild(o.div),delete o.div,o=t;e.alignOptions&&x(h.alignedObjects,e),A(e,(function(t,i){e[i]&&e[i].parentGroup===e&&e[i].destroy&&e[i].destroy(),delete e[i]}))}dSetter(t,i,e){M(t)&&("string"==typeof t[0]&&(t=this.renderer.pathToSegments(t)),this.pathArray=t,t=t.reduce(((t,i,e)=>i&&i.join?(e?t+" ":"")+i.join(" "):(i||"").toString()),"")),/(NaN| {2}|^$)/.test(t)&&(t="M 0 0"),this[i]!==t&&(e.setAttribute(i,t),this[i]=t)}fillSetter(t,i,e){"string"==typeof t?e.setAttribute(i,t):t&&this.complexColor(t,i,e)}hrefSetter(t,i,e){e.setAttributeNS("http://www.w3.org/1999/xlink",i,t)}getBBox(t,i){let e,s,h,r,{alignValue:n,element:o,renderer:a,styles:l,textStr:c}=this,{cache:d,cacheKeys:u}=a,f=o.namespaceURI===this.SVG_NS,p=L(i,this.rotation,0),g=a.styledMode?o&&z.prototype.getStyle.call(o,"font-size"):l.fontSize;if(b(c)&&(-1===(r=c.toString()).indexOf("<")&&(r=r.replace(/\d/g,"0")),r+=["",a.rootFontSize,g,p,this.textWidth,n,l.textOverflow,l.fontWeight].join(",")),r&&!t&&(e=d[r]),!e||e.polygon){if(f||a.forExport){try{h=this.fakeTS&&function(t){let i=o.querySelector(".highcharts-text-outline");i&&m(i,{display:t})},w(h)&&h("none"),e=o.getBBox?v({},o.getBBox()):{width:o.offsetWidth,height:o.offsetHeight,x:0,y:0},w(h)&&h("")}catch(t){}(!e||e.width<0)&&(e={x:0,y:0,width:0,height:0})}else e=this.htmlGetBBox();s=e.height,f&&(e.height=s={"11px,17":14,"13px,20":16}[`${g||""},${Math.round(s)}`]||s),p&&(e=this.getRotatedBox(e,p));let i={bBox:e};y(this,"afterGetBBox",i),e=i.bBox}if(r&&(""===c||e.height>0)){for(;u.length>250;)delete d[u.shift()];d[r]||u.push(r),d[r]=e}return e}getRotatedBox(t,i){let{x:e,y:s,width:h,height:r}=t,{alignValue:n,translateY:a,rotationOriginX:l=0,rotationOriginY:c=0}=this,d={right:1,center:.5}[n||0]||0,u=Number(this.element.getAttribute("y")||0)-(a?0:s),f=i*o,p=(i-90)*o,g=Math.cos(f),m=Math.sin(f),b=h*g,x=h*m,v=Math.cos(p),y=Math.sin(p),[[M,w],[k,S]]=[l,c].map((t=>[t-t*g,t*m])),O=e+d*(h-b)+M+S+u*v,A=O+b,L=A-r*v,C=L-b,j=s+u-d*x-w+k+u*y,T=j+x,P=T-r*y,E=P-x,z=Math.min(O,A,L,C),D=Math.min(j,T,P,E);return{x:z,y:D,width:Math.max(O,A,L,C)-z,height:Math.max(j,T,P,E)-D,polygon:[[O,j],[A,T],[L,P],[C,E]]}}getStyle(t){return d.getComputedStyle(this.element||this,"").getPropertyValue(t)}hasClass(t){return-1!==(""+this.attr("class")).split(" ").indexOf(t)}hide(){return this.attr({visibility:"hidden"})}htmlGetBBox(){return{height:0,width:0,x:0,y:0}}constructor(t,i){this.onEvents={},this.opacity=1,this.SVG_NS=c,this.element="span"===i||"body"===i?p(i):a.createElementNS(this.SVG_NS,i),this.renderer=t,this.styles={},y(this,"afterInit")}on(t,i){let{onEvents:e}=this;return e[t]&&e[t](),e[t]=u(this.element,t,i),this}opacitySetter(t,i,e){let s=Number(Number(t).toFixed(3));this.opacity=s,e.setAttribute(i,s)}reAlign(){this.alignOptions?.width&&"left"!==this.alignOptions.align&&(this.alignOptions.width=this.getBBox().width,this.placed=!1,this.align())}removeClass(t){return this.attr("class",(""+this.attr("class")).replace(S(t)?RegExp(`(^| )${t}( |$)`):t," ").replace(/ +/g," ").trim())}removeTextOutline(){let t=this.element.querySelector("tspan.highcharts-text-outline");t&&this.safeRemoveChild(t)}safeRemoveChild(t){let i=t.parentNode;i&&i.removeChild(t)}setRadialReference(t){let i=this.element.gradient&&this.renderer.gradients[this.element.gradient];return this.element.radialReference=t,i&&i.radAttr&&i.animate(this.renderer.getRadialAttr(t,i.radAttr)),this}shadow(t){let{renderer:i}=this,e=O(90===this.parentGroup?.rotation?{offsetX:-1,offsetY:-1}:{},k(t)?t:{}),s=i.shadowDefinition(e);return this.attr({filter:t?`url(${i.url}#${s})`:"none"})}show(t=!0){return this.attr({visibility:t?"inherit":"visible"})}"stroke-widthSetter"(t,i,e){this[i]=t,e.setAttribute(i,t)}strokeWidth(){if(!this.renderer.styledMode)return this["stroke-width"]||0;let t,i=this.getStyle("stroke-width"),e=0;return/px$/.test(i)?e=C(i):""!==i&&(f(t=a.createElementNS(c,"rect"),{width:i,"stroke-width":0}),this.element.parentNode.appendChild(t),e=t.getBBox().width,t.parentNode.removeChild(t)),e}symbolAttr(t){let i=this;z.symbolCustomAttribs.forEach((function(e){i[e]=L(t[e],i[e])})),i.attr({d:i.renderer.symbols[i.symbolName](i.x,i.y,i.width,i.height,i)})}textSetter(t){t!==this.textStr&&(delete this.textPxLength,this.textStr=t,this.added&&this.renderer.buildText(this),this.reAlign())}titleSetter(t){let i=this.element,e=i.getElementsByTagName("title")[0]||a.createElementNS(this.SVG_NS,"title");i.insertBefore?i.insertBefore(e,i.firstChild):i.appendChild(e),e.textContent=T(L(t,""),[/<[^>]*>/g,""]).replace(/&lt;/g,"<").replace(/&gt;/g,">")}toFront(){let t=this.element;return t.parentNode.appendChild(t),this}translate(t,i){return this.attr({translateX:t,translateY:i})}updateTransform(t="transform"){let{element:i,matrix:e,rotation:s=0,rotationOriginX:h,rotationOriginY:r,scaleX:n,scaleY:o,translateX:a=0,translateY:l=0}=this,c=["translate("+a+","+l+")"];b(e)&&c.push("matrix("+e.join(",")+")"),s&&(c.push("rotate("+s+" "+L(h,i.getAttribute("x"),0)+" "+L(r,i.getAttribute("y")||0)+")"),"SPAN"===this.text?.element.tagName&&this.text.attr({rotation:s,rotationOriginX:(h||0)-this.padding,rotationOriginY:(r||0)-this.padding})),(b(n)||b(o))&&c.push("scale("+L(n,1)+" "+L(o,1)+")"),c.length&&!(this.text||this).textPath&&i.setAttribute(t,c.join(" "))}visibilitySetter(t,i,e){"inherit"===t?e.removeAttribute(i):this[i]!==t&&e.setAttribute(i,t),this[i]=t}xGetter(t){return"circle"===this.element.nodeName&&("x"===t?t="cx":"y"===t&&(t="cy")),this._defaultGetter(t)}zIndexSetter(t,i){let e,s,h,r,n,o=this.renderer,a=this.parentGroup,l=(a||o).element||o.box,c=this.element,d=l===o.box,u=!1,f=this.added;if(b(t)?(c.setAttribute("data-z-index",t),this[i]===(t=+t)&&(f=!1)):b(this[i])&&c.removeAttribute("data-z-index"),this[i]=t,f){for((t=this.zIndex)&&a&&(a.handleZ=!0),n=(e=l.childNodes).length-1;n>=0&&!u;n--)r=!b(h=(s=e[n]).getAttribute("data-z-index")),s!==c&&(t<0&&r&&!d&&!n?(l.insertBefore(c,e[n]),u=!0):(C(h)<=t||r&&(!b(t)||t>=0))&&(l.insertBefore(c,e[n+1]),u=!0));u||(l.insertBefore(c,e[d?3:0]),u=!0)}return u}}return z.symbolCustomAttribs=["anchorX","anchorY","clockwise","end","height","innerR","r","start","width","x","y"],z.prototype.strokeSetter=z.prototype.fillSetter,z.prototype.yGetter=z.prototype.xGetter,z.prototype.matrixSetter=z.prototype.rotationOriginXSetter=z.prototype.rotationOriginYSetter=z.prototype.rotationSetter=z.prototype.scaleXSetter=z.prototype.scaleYSetter=z.prototype.translateXSetter=z.prototype.translateYSetter=z.prototype.verticalAlignSetter=function(t,i){this[i]=t,this.doTransform=!0},z})),e(i,"Core/Renderer/SVG/SVGLabel.js",[i["Core/Renderer/SVG/SVGElement.js"],i["Core/Utilities.js"]],(function(t,i){let{defined:e,extend:s,isNumber:h,merge:r,pick:n,removeEvent:o}=i;class a extends t{constructor(t,i,e,s,h,r,n,o,l,c){let d;super(t,"g"),this.paddingLeftSetter=this.paddingSetter,this.paddingRightSetter=this.paddingSetter,this.doUpdate=!1,this.textStr=i,this.x=e,this.y=s,this.anchorX=r,this.anchorY=n,this.baseline=l,this.className=c,this.addClass("button"===c?"highcharts-no-tooltip":"highcharts-label"),c&&this.addClass("highcharts-"+c),this.text=t.text(void 0,0,0,o).attr({zIndex:1}),"string"==typeof h&&((d=/^url\((.*?)\)$/.test(h))||this.renderer.symbols[h])&&(this.symbolKey=h),this.bBox=a.emptyBBox,this.padding=3,this.baselineOffset=0,this.needsBox=t.styledMode||d,this.deferredAttr={},this.alignFactor=0}alignSetter(t){let i={left:0,center:.5,right:1}[t];i!==this.alignFactor&&(this.alignFactor=i,this.bBox&&h(this.xSetting)&&this.attr({x:this.xSetting}))}anchorXSetter(t,i){this.anchorX=t,this.boxAttr(i,Math.round(t)-this.getCrispAdjust()-this.xSetting)}anchorYSetter(t,i){this.anchorY=t,this.boxAttr(i,t-this.ySetting)}boxAttr(t,i){this.box?this.box.attr(t,i):this.deferredAttr[t]=i}css(i){if(i){let t={};i=r(i),a.textProps.forEach((e=>{void 0!==i[e]&&(t[e]=i[e],delete i[e])})),this.text.css(t),"fontSize"in t||"fontWeight"in t?this.updateTextPadding():("width"in t||"textOverflow"in t)&&this.updateBoxSize()}return t.prototype.css.call(this,i)}destroy(){o(this.element,"mouseenter"),o(this.element,"mouseleave"),this.text&&this.text.destroy(),this.box&&(this.box=this.box.destroy()),t.prototype.destroy.call(this)}fillSetter(t,i){t&&(this.needsBox=!0),this.fill=t,this.boxAttr(i,t)}getBBox(t,i){this.textStr&&0===this.bBox.width&&0===this.bBox.height&&this.updateBoxSize();let{padding:e,height:s=0,translateX:h=0,translateY:r=0,width:o=0}=this,a=n(this.paddingLeft,e),l=i??(this.rotation||0),c={width:o,height:s,x:h+this.bBox.x-a,y:r+this.bBox.y-e+this.baselineOffset};return l&&(c=this.getRotatedBox(c,l)),c}getCrispAdjust(){return(this.renderer.styledMode&&this.box?this.box.strokeWidth():this["stroke-width"]?parseInt(this["stroke-width"],10):0)%2/2}heightSetter(t){this.heightSetting=t,this.doUpdate=!0}afterSetters(){super.afterSetters(),this.doUpdate&&(this.updateBoxSize(),this.doUpdate=!1)}onAdd(){this.text.add(this),this.attr({text:n(this.textStr,""),x:this.x||0,y:this.y||0}),this.box&&e(this.anchorX)&&this.attr({anchorX:this.anchorX,anchorY:this.anchorY})}paddingSetter(t,i){h(t)?t!==this[i]&&(this[i]=t,this.updateTextPadding()):this[i]=void 0}rSetter(t,i){this.boxAttr(i,t)}strokeSetter(t,i){this.stroke=t,this.boxAttr(i,t)}"stroke-widthSetter"(t,i){t&&(this.needsBox=!0),this["stroke-width"]=t,this.boxAttr(i,t)}"text-alignSetter"(t){this.textAlign=t}textSetter(t){void 0!==t&&this.text.attr({text:t}),this.updateTextPadding(),this.reAlign()}updateBoxSize(){let t,i=this.text,r={},n=this.padding,o=this.bBox=h(this.widthSetting)&&h(this.heightSetting)&&!this.textAlign||!e(i.textStr)?a.emptyBBox:i.getBBox(void 0,0);this.width=this.getPaddedWidth(),this.height=(this.heightSetting||o.height||0)+2*n;let l=this.renderer.fontMetrics(i);if(this.baselineOffset=n+Math.min((this.text.firstLineMetrics||l).b,o.height||1/0),this.heightSetting&&(this.baselineOffset+=(this.heightSetting-l.h)/2),this.needsBox&&!i.textPath){if(!this.box){let t=this.box=this.symbolKey?this.renderer.symbol(this.symbolKey):this.renderer.rect();t.addClass(("button"===this.className?"":"highcharts-label-box")+(this.className?" highcharts-"+this.className+"-box":"")),t.add(this)}t=this.getCrispAdjust(),r.x=t,r.y=(this.baseline?-this.baselineOffset:0)+t,r.width=Math.round(this.width),r.height=Math.round(this.height),this.box.attr(s(r,this.deferredAttr)),this.deferredAttr={}}}updateTextPadding(){let t=this.text;if(!t.textPath){this.updateBoxSize();let i=this.baseline?0:this.baselineOffset,s=n(this.paddingLeft,this.padding);e(this.widthSetting)&&this.bBox&&("center"===this.textAlign||"right"===this.textAlign)&&(s+={center:.5,right:1}[this.textAlign]*(this.widthSetting-this.bBox.width)),(s!==t.x||i!==t.y)&&(t.attr("x",s),t.hasBoxWidthChanged&&(this.bBox=t.getBBox(!0)),void 0!==i&&t.attr("y",i)),t.x=s,t.y=i}}widthSetter(t){this.widthSetting=h(t)?t:void 0,this.doUpdate=!0}getPaddedWidth(){let t=this.padding,i=n(this.paddingLeft,t),e=n(this.paddingRight,t);return(this.widthSetting||this.bBox.width||0)+i+e}xSetter(t){this.x=t,this.alignFactor&&(t-=this.alignFactor*this.getPaddedWidth(),this["forceAnimate:x"]=!0),this.xSetting=Math.round(t),this.attr("translateX",this.xSetting)}ySetter(t){this.ySetting=this.y=Math.round(t),this.attr("translateY",this.ySetting)}}return a.emptyBBox={width:0,height:0,x:0,y:0},a.textProps=["color","direction","fontFamily","fontSize","fontStyle","fontWeight","lineHeight","textAlign","textDecoration","textOutline","textOverflow","whiteSpace","width"],a})),e(i,"Core/Renderer/SVG/Symbols.js",[i["Core/Utilities.js"]],(function(t){let{defined:i,isNumber:e,pick:s}=t;function h(t,e,h,r,n){let o=[];if(n){let a=n.start||0,l=s(n.r,h),c=s(n.r,r||h),d=2e-4/(n.borderRadius?1:Math.max(l,1)),u=Math.abs((n.end||0)-a-2*Math.PI)<d,f=(n.end||0)-(u?d:0),p=n.innerR,g=s(n.open,u),m=Math.cos(a),b=Math.sin(a),x=Math.cos(f),v=Math.sin(f),y=s(n.longArc,f-a-Math.PI<d?0:1),M=["A",l,c,0,y,s(n.clockwise,1),t+l*x,e+c*v];M.params={start:a,end:f,cx:t,cy:e},o.push(["M",t+l*m,e+c*b],M),i(p)&&((M=["A",p,p,0,y,i(n.clockwise)?1-n.clockwise:0,t+p*m,e+p*b]).params={start:f,end:a,cx:t,cy:e},o.push(g?["M",t+p*x,e+p*v]:["L",t+p*x,e+p*v],M)),g||o.push(["Z"])}return o}function r(t,i,e,s,h){return h&&h.r?n(t,i,e,s,h):[["M",t,i],["L",t+e,i],["L",t+e,i+s],["L",t,i+s],["Z"]]}function n(t,i,e,s,h){let r=h?.r||0;return[["M",t+r,i],["L",t+e-r,i],["A",r,r,0,0,1,t+e,i+r],["L",t+e,i+s-r],["A",r,r,0,0,1,t+e-r,i+s],["L",t+r,i+s],["A",r,r,0,0,1,t,i+s-r],["L",t,i+r],["A",r,r,0,0,1,t+r,i],["Z"]]}return{arc:h,callout:function(t,i,s,h,r){let o=Math.min(r&&r.r||0,s,h),a=o+6,l=r&&r.anchorX,c=r&&r.anchorY||0,d=n(t,i,s,h,{r:o});if(!e(l)||l<s&&l>0&&c<h&&c>0)return d;if(t+l>s-a)if(c>i+a&&c<i+h-a)d.splice(3,1,["L",t+s,c-6],["L",t+s+6,c],["L",t+s,c+6],["L",t+s,i+h-o]);else if(l<s){let e=c<i+a;d.splice(e?2:5,0,["L",l,c],["L",t+s-o,e?i:i+h])}else d.splice(3,1,["L",t+s,h/2],["L",l,c],["L",t+s,h/2],["L",t+s,i+h-o]);else if(t+l<a)if(c>i+a&&c<i+h-a)d.splice(7,1,["L",t,c+6],["L",t-6,c],["L",t,c-6],["L",t,i+o]);else if(l>0){let e=c<i+a;d.splice(e?1:6,0,["L",l,c],["L",t+o,e?i:i+h])}else d.splice(7,1,["L",t,h/2],["L",l,c],["L",t,h/2],["L",t,i+o]);else c>h&&l<s-a?d.splice(5,1,["L",l+6,i+h],["L",l,i+h+6],["L",l-6,i+h],["L",t+o,i+h]):c<0&&l>a&&d.splice(1,1,["L",l-6,i],["L",l,i-6],["L",l+6,i],["L",s-o,i]);return d},circle:function(t,i,e,s){return h(t+e/2,i+s/2,e/2,s/2,{start:.5*Math.PI,end:2.5*Math.PI,open:!1})},diamond:function(t,i,e,s){return[["M",t+e/2,i],["L",t+e,i+s/2],["L",t+e/2,i+s],["L",t,i+s/2],["Z"]]},rect:r,roundedRect:n,square:r,triangle:function(t,i,e,s){return[["M",t+e/2,i],["L",t+e,i+s],["L",t,i+s],["Z"]]},"triangle-down":function(t,i,e,s){return[["M",t,i],["L",t+e,i],["L",t+e/2,i+s],["Z"]]}}})),e(i,"Core/Renderer/SVG/TextBuilder.js",[i["Core/Renderer/HTML/AST.js"],i["Core/Globals.js"],i["Core/Utilities.js"]],(function(t,i,e){let{doc:s,SVG_NS:h,win:r}=i,{attr:n,extend:o,fireEvent:a,isString:l,objectEach:c,pick:d}=e;return class{constructor(t){let i=t.styles;this.renderer=t.renderer,this.svgElement=t,this.width=t.textWidth,this.textLineHeight=i&&i.lineHeight,this.textOutline=i&&i.textOutline,this.ellipsis=!(!i||"ellipsis"!==i.textOverflow),this.noWrap=!(!i||"nowrap"!==i.whiteSpace)}buildSVG(){let i=this.svgElement,e=i.element,h=i.renderer,r=d(i.textStr,"").toString(),n=-1!==r.indexOf("<"),o=e.childNodes,a=!i.added&&h.box,c=[r,this.ellipsis,this.noWrap,this.textLineHeight,this.textOutline,i.getStyle("font-size"),this.width].join(",");if(c!==i.textCache){i.textCache=c,delete i.actualWidth;for(let t=o.length;t--;)e.removeChild(o[t]);if(n||this.ellipsis||this.width||i.textPath||-1!==r.indexOf(" ")&&(!this.noWrap||/<br.*?>/g.test(r))){if(""!==r){a&&a.appendChild(e);let s=new t(r);this.modifyTree(s.nodes),s.addToDOM(e),this.modifyDOM(),this.ellipsis&&-1!==(e.textContent||"").indexOf("…")&&i.attr("title",this.unescapeEntities(i.textStr||"",["&lt;","&gt;"])),a&&a.removeChild(e)}}else e.appendChild(s.createTextNode(this.unescapeEntities(r)));l(this.textOutline)&&i.applyTextOutline&&i.applyTextOutline(this.textOutline)}}modifyDOM(){let t,i=this.svgElement,e=n(i.element,"x");for(i.firstLineMetrics=void 0;(t=i.element.firstChild)&&/^[\s\u200B]*$/.test(t.textContent||" ");)i.element.removeChild(t);[].forEach.call(i.element.querySelectorAll("tspan.highcharts-br"),((t,s)=>{t.nextSibling&&t.previousSibling&&(0===s&&1===t.previousSibling.nodeType&&(i.firstLineMetrics=i.renderer.fontMetrics(t.previousSibling)),n(t,{dy:this.getLineHeight(t.nextSibling),x:e}))}));let o=this.width||0;if(!o)return;let a=(t,r)=>{let a=t.textContent||"",l=a.replace(/([^\^])-/g,"$1- ").split(" "),c=!this.noWrap&&(l.length>1||i.element.childNodes.length>1),d=this.getLineHeight(r),u=0,f=i.actualWidth;if(this.ellipsis)a&&this.truncate(t,a,void 0,0,Math.max(0,o-.8*d),((t,i)=>t.substring(0,i)+"…"));else if(c){let a=[],c=[];for(;r.firstChild&&r.firstChild!==t;)c.push(r.firstChild),r.removeChild(r.firstChild);for(;l.length;)l.length&&!this.noWrap&&u>0&&(a.push(t.textContent||""),t.textContent=l.join(" ").replace(/- /g,"-")),this.truncate(t,void 0,l,0===u&&f||0,o,((t,i)=>l.slice(0,i).join(" ").replace(/- /g,"-"))),f=i.actualWidth,u++;c.forEach((i=>{r.insertBefore(i,t)})),a.forEach((i=>{r.insertBefore(s.createTextNode(i),t);let o=s.createElementNS(h,"tspan");o.textContent="​",n(o,{dy:d,x:e}),r.insertBefore(o,t)}))}},l=t=>{[].slice.call(t.childNodes).forEach((e=>{e.nodeType===r.Node.TEXT_NODE?a(e,t):(-1!==e.className.baseVal.indexOf("highcharts-br")&&(i.actualWidth=0),l(e))}))};l(i.element)}getLineHeight(t){let i=t.nodeType===r.Node.TEXT_NODE?t.parentElement:t;return this.textLineHeight?parseInt(this.textLineHeight.toString(),10):this.renderer.fontMetrics(i||this.svgElement.element).h}modifyTree(t){let i=(e,s)=>{let{attributes:h={},children:r,style:n={},tagName:a}=e,l=this.renderer.styledMode;if("b"===a||"strong"===a?l?h.class="highcharts-strong":n.fontWeight="bold":("i"===a||"em"===a)&&(l?h.class="highcharts-emphasized":n.fontStyle="italic"),n&&n.color&&(n.fill=n.color),"br"===a){h.class="highcharts-br",e.textContent="​";let i=t[s+1];i&&i.textContent&&(i.textContent=i.textContent.replace(/^ +/gm,""))}else"a"===a&&r&&r.some((t=>"#text"===t.tagName))&&(e.children=[{children:r,tagName:"tspan"}]);"#text"!==a&&"a"!==a&&(e.tagName="tspan"),o(e,{attributes:h,style:n}),r&&r.filter((t=>"#text"!==t.tagName)).forEach(i)};t.forEach(i),a(this.svgElement,"afterModifyTree",{nodes:t})}truncate(t,i,e,s,h,r){let n,o,a=this.svgElement,{rotation:l}=a,c=[],d=e?1:0,u=(i||e||"").length,f=u,p=function(i,h){let r=h||i,n=t.parentNode;if(n&&void 0===c[r]&&n.getSubStringLength)try{c[r]=s+n.getSubStringLength(0,e?r+1:r)}catch(t){}return c[r]};if(a.rotation=0,s+(o=p(t.textContent.length))>h){for(;d<=u;)f=Math.ceil((d+u)/2),e&&(n=r(e,f)),o=p(f,n&&n.length-1),d===u?d=u+1:o>h?u=f-1:d=f;0===u?t.textContent="":i&&u===i.length-1||(t.textContent=n||r(i||e,f))}e&&e.splice(0,f),a.actualWidth=o,a.rotation=l}unescapeEntities(t,i){return c(this.renderer.escapes,(function(e,s){i&&-1!==i.indexOf(e)||(t=t.toString().replace(RegExp(e,"g"),s))})),t}}})),e(i,"Core/Renderer/SVG/SVGRenderer.js",[i["Core/Renderer/HTML/AST.js"],i["Core/Defaults.js"],i["Core/Color/Color.js"],i["Core/Globals.js"],i["Core/Renderer/RendererRegistry.js"],i["Core/Renderer/SVG/SVGElement.js"],i["Core/Renderer/SVG/SVGLabel.js"],i["Core/Renderer/SVG/Symbols.js"],i["Core/Renderer/SVG/TextBuilder.js"],i["Core/Utilities.js"]],(function(t,i,e,s,h,r,n,o,a,l){let c,{defaultOptions:d}=i,{charts:u,deg2rad:f,doc:p,isFirefox:g,isMS:m,isWebKit:b,noop:x,SVG_NS:v,symbolSizes:y,win:M}=s,{addEvent:w,attr:k,createElement:S,crisp:O,css:A,defined:L,destroyObjectProperties:C,extend:j,isArray:T,isNumber:P,isObject:E,isString:z,merge:D,pick:N,pInt:I,replaceNested:F,uniqueKey:R}=l;class B{constructor(t,i,e,s,h,r,n){let o,a,l=this.createElement("svg").attr({version:"1.1",class:"highcharts-root"}),c=l.element;n||l.css(this.getStyle(s||{})),t.appendChild(c),k(t,"dir","ltr"),-1===t.innerHTML.indexOf("xmlns")&&k(c,"xmlns",this.SVG_NS),this.box=c,this.boxWrapper=l,this.alignedObjects=[],this.url=this.getReferenceURL(),this.createElement("desc").add().element.appendChild(p.createTextNode("Created with Highcharts 11.4.8")),this.defs=this.createElement("defs").add(),this.allowHTML=r,this.forExport=h,this.styledMode=n,this.gradients={},this.cache={},this.cacheKeys=[],this.imgCount=0,this.rootFontSize=l.getStyle("font-size"),this.setSize(i,e,!1),g&&t.getBoundingClientRect&&((o=function(){A(t,{left:0,top:0}),a=t.getBoundingClientRect(),A(t,{left:Math.ceil(a.left)-a.left+"px",top:Math.ceil(a.top)-a.top+"px"})})(),this.unSubPixelFix=w(M,"resize",o))}definition(i){return new t([i]).addToDOM(this.defs.element)}getReferenceURL(){if((g||b)&&p.getElementsByTagName("base").length){if(!L(c)){let i=R(),e=new t([{tagName:"svg",attributes:{width:8,height:8},children:[{tagName:"defs",children:[{tagName:"clipPath",attributes:{id:i},children:[{tagName:"rect",attributes:{width:4,height:4}}]}]},{tagName:"rect",attributes:{id:"hitme",width:8,height:8,"clip-path":`url(#${i})`,fill:"rgba(0,0,0,0.001)"}}]}]).addToDOM(p.body);A(e,{position:"fixed",top:0,left:0,zIndex:9e5});let s=p.elementFromPoint(6,6);c="hitme"===(s&&s.id),p.body.removeChild(e)}if(c)return F(M.location.href.split("#")[0],[/<[^>]*>/g,""],[/([\('\)])/g,"\\$1"],[/ /g,"%20"])}return""}getStyle(t){return this.style=j({fontFamily:"Helvetica, Arial, sans-serif",fontSize:"1rem"},t),this.style}setStyle(t){this.boxWrapper.css(this.getStyle(t))}isHidden(){return!this.boxWrapper.getBBox().width}destroy(){let t=this.defs;return this.box=null,this.boxWrapper=this.boxWrapper.destroy(),C(this.gradients||{}),this.gradients=null,this.defs=t.destroy(),this.unSubPixelFix&&this.unSubPixelFix(),this.alignedObjects=null,null}createElement(t){return new this.Element(this,t)}getRadialAttr(t,i){return{cx:t[0]-t[2]/2+(i.cx||0)*t[2],cy:t[1]-t[2]/2+(i.cy||0)*t[2],r:(i.r||0)*t[2]}}shadowDefinition(t){let i=[`highcharts-drop-shadow-${this.chartIndex}`,...Object.keys(t).map((i=>`${i}-${t[i]}`))].join("-").toLowerCase().replace(/[^a-z\d\-]/g,""),e=D({color:"#000000",offsetX:1,offsetY:1,opacity:.15,width:5},t);return this.defs.element.querySelector(`#${i}`)||this.definition({tagName:"filter",attributes:{id:i,filterUnits:e.filterUnits},children:this.getShadowFilterContent(e)}),i}getShadowFilterContent(t){return[{tagName:"feDropShadow",attributes:{dx:t.offsetX,dy:t.offsetY,"flood-color":t.color,"flood-opacity":Math.min(5*t.opacity,1),stdDeviation:t.width/2}}]}buildText(t){new a(t).buildSVG()}getContrast(t){let i=e.parse(t).rgba.map((t=>{let i=t/255;return i<=.03928?i/12.92:Math.pow((i+.055)/1.055,2.4)})),s=.2126*i[0]+.7152*i[1]+.0722*i[2];return 1.05/(s+.05)>(s+.05)/.05?"#FFFFFF":"#000000"}button(i,e,s,h,r={},n,o,a,l,c){let u=this.label(i,e,s,l,void 0,void 0,c,void 0,"button"),f=this.styledMode,p=arguments,g=0;r=D(d.global.buttonTheme,r),f&&(delete r.fill,delete r.stroke,delete r["stroke-width"]);let b=r.states||{},x=r.style||{};delete r.states,delete r.style;let v=[t.filterUserAttributes(r)],y=[x];return f||["hover","select","disabled"].forEach(((i,e)=>{v.push(D(v[0],t.filterUserAttributes(p[e+5]||b[i]||{}))),y.push(v[e+1].style),delete v[e+1].style})),w(u.element,m?"mouseover":"mouseenter",(function(){3!==g&&u.setState(1)})),w(u.element,m?"mouseout":"mouseleave",(function(){3!==g&&u.setState(g)})),u.setState=(t=0)=>{if(1!==t&&(u.state=g=t),u.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][t]),!f){u.attr(v[t]);let i=y[t];E(i)&&u.css(i)}},u.attr(v[0]),!f&&(u.css(j({cursor:"default"},x)),c&&u.text.css({pointerEvents:"none"})),u.on("touchstart",(t=>t.stopPropagation())).on("click",(function(t){3!==g&&h.call(u,t)}))}crispLine(t,i){let[e,s]=t;return L(e[1])&&e[1]===s[1]&&(e[1]=s[1]=O(e[1],i)),L(e[2])&&e[2]===s[2]&&(e[2]=s[2]=O(e[2],i)),t}path(t){let i=this.styledMode?{}:{fill:"none"};return T(t)?i.d=t:E(t)&&j(i,t),this.createElement("path").attr(i)}circle(t,i,e){let s=E(t)?t:void 0===t?{}:{x:t,y:i,r:e},h=this.createElement("circle");return h.xSetter=h.ySetter=function(t,i,e){e.setAttribute("c"+i,t)},h.attr(s)}arc(t,i,e,s,h,r){let n;E(t)?(i=(n=t).y,e=n.r,s=n.innerR,h=n.start,r=n.end,t=n.x):n={innerR:s,start:h,end:r};let o=this.symbol("arc",t,i,e,e,n);return o.r=e,o}rect(t,i,e,s,h,r){let n=E(t)?t:void 0===t?{}:{x:t,y:i,r:h,width:Math.max(e||0,0),height:Math.max(s||0,0)},o=this.createElement("rect");return this.styledMode||(void 0!==r&&(n["stroke-width"]=r,j(n,o.crisp(n))),n.fill="none"),o.rSetter=function(t,i,e){o.r=t,k(e,{rx:t,ry:t})},o.rGetter=function(){return o.r||0},o.attr(n)}roundedRect(t){return this.symbol("roundedRect").attr(t)}setSize(t,i,e){this.width=t,this.height=i,this.boxWrapper.animate({width:t,height:i},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:N(e,!0)?void 0:0}),this.alignElements()}g(t){let i=this.createElement("g");return t?i.attr({class:"highcharts-"+t}):i}image(t,i,e,s,h,r){let n={preserveAspectRatio:"none"};P(i)&&(n.x=i),P(e)&&(n.y=e),P(s)&&(n.width=s),P(h)&&(n.height=h);let o=this.createElement("image").attr(n),a=function(i){o.attr({href:t}),r.call(o,i)};if(r){o.attr({href:"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="});let i=new M.Image;w(i,"load",a),i.src=t,i.complete&&a({})}else o.attr({href:t});return o}symbol(t,i,e,s,h,r){let n,o,a,l,c=this,d=/^url\((.*?)\)$/,f=d.test(t),g=!f&&(this.symbols[t]?t:"circle"),m=g&&this.symbols[g];if(m)"number"==typeof i&&(o=m.call(this.symbols,i||0,e||0,s||0,h||0,r)),n=this.path(o),c.styledMode||n.attr("fill","none"),j(n,{symbolName:g||void 0,x:i,y:e,width:s,height:h}),r&&j(n,r);else if(f){a=t.match(d)[1];let s=n=this.image(a);s.imgwidth=N(r&&r.width,y[a]&&y[a].width),s.imgheight=N(r&&r.height,y[a]&&y[a].height),l=t=>t.attr({width:t.width,height:t.height}),["width","height"].forEach((t=>{s[`${t}Setter`]=function(t,i){this[i]=t;let{alignByTranslate:e,element:s,width:h,height:n,imgwidth:o,imgheight:a}=this,l="width"===i?o:a,c=1;r&&"within"===r.backgroundSize&&h&&n&&o&&a?(c=Math.min(h/o,n/a),k(s,{width:Math.round(o*c),height:Math.round(a*c)})):s&&l&&s.setAttribute(i,l),!e&&o&&a&&this.translate(((h||0)-o*c)/2,((n||0)-a*c)/2)}})),L(i)&&s.attr({x:i,y:e}),s.isImg=!0,s.symbolUrl=t,L(s.imgwidth)&&L(s.imgheight)?l(s):(s.attr({width:0,height:0}),S("img",{onload:function(){let t=u[c.chartIndex];0===this.width&&(A(this,{position:"absolute",top:"-999em"}),p.body.appendChild(this)),y[a]={width:this.width,height:this.height},s.imgwidth=this.width,s.imgheight=this.height,s.element&&l(s),this.parentNode&&this.parentNode.removeChild(this),c.imgCount--,c.imgCount||!t||t.hasLoaded||t.onload()},src:a}),this.imgCount++)}return n}clipRect(t,i,e,s){return this.rect(t,i,e,s,0)}text(t,i,e,s){let h={};if(s&&(this.allowHTML||!this.forExport))return this.html(t,i,e);h.x=Math.round(i||0),e&&(h.y=Math.round(e)),L(t)&&(h.text=t);let r=this.createElement("text").attr(h);return s&&(!this.forExport||this.allowHTML)||(r.xSetter=function(t,i,e){let s=e.getElementsByTagName("tspan"),h=e.getAttribute(i);for(let e,r=0;r<s.length;r++)(e=s[r]).getAttribute(i)===h&&e.setAttribute(i,t);e.setAttribute(i,t)}),r}fontMetrics(t){let i=I(r.prototype.getStyle.call(t,"font-size")||0),e=i<24?i+3:Math.round(1.2*i);return{h:e,b:Math.round(.8*e),f:i}}rotCorr(t,i,e){let s=t;return i&&e&&(s=Math.max(s*Math.cos(i*f),4)),{x:-t/3*Math.sin(i*f),y:s}}pathToSegments(t){let i=[],e=[],s={A:8,C:7,H:2,L:3,M:3,Q:5,S:5,T:3,V:2};for(let h=0;h<t.length;h++)z(e[0])&&P(t[h])&&e.length===s[e[0].toUpperCase()]&&t.splice(h,0,e[0].replace("M","L").replace("m","l")),"string"==typeof t[h]&&(e.length&&i.push(e.slice(0)),e.length=0),e.push(t[h]);return i.push(e.slice(0)),i}label(t,i,e,s,h,r,o,a,l){return new n(this,t,i,e,s,h,r,o,a,l)}alignElements(){this.alignedObjects.forEach((t=>t.align()))}}return j(B.prototype,{Element:r,SVG_NS:v,escapes:{"&":"&amp;","<":"&lt;",">":"&gt;","'":"&#39;",'"':"&quot;"},symbols:o,draw:x}),h.registerRendererType("svg",B,!0),B})),e(i,"Core/Renderer/HTML/HTMLElement.js",[i["Core/Renderer/HTML/AST.js"],i["Core/Globals.js"],i["Core/Renderer/SVG/SVGElement.js"],i["Core/Utilities.js"]],(function(t,i,e,s){let{composed:h}=i,{attr:r,css:n,createElement:o,defined:a,extend:l,pInt:c,pushUnique:d}=s;function u(t,i,s){let h=this.div?.style||s.style;e.prototype[`${i}Setter`].call(this,t,i,s),h&&(h[i]=t)}let f=(t,i)=>{if(!t.div){let s=r(t.element,"class"),h=t.css,n=o("div",s?{className:s}:void 0,{position:"absolute",left:`${t.translateX||0}px`,top:`${t.translateY||0}px`,...t.styles,display:t.display,opacity:t.opacity,visibility:t.visibility},t.parentGroup?.div||i);t.classSetter=(t,i,e)=>{e.setAttribute("class",t),n.className=t},t.translateXSetter=t.translateYSetter=(i,e)=>{t[e]=i,n.style["translateX"===e?"left":"top"]=`${i}px`,t.doTransform=!0},t.opacitySetter=t.visibilitySetter=u,t.css=i=>(h.call(t,i),i.cursor&&(n.style.cursor=i.cursor),i.pointerEvents&&(n.style.pointerEvents=i.pointerEvents),t),t.on=function(){return e.prototype.on.apply({element:n,onEvents:t.onEvents},arguments),t},t.div=n}return t.div};class p extends e{static compose(t){d(h,this.compose)&&(t.prototype.html=function(t,i,e){return new p(this,"span").attr({text:t,x:Math.round(i),y:Math.round(e)})})}constructor(t,i){super(t,i),this.css({position:"absolute",...t.styledMode?{}:{fontFamily:t.style.fontFamily,fontSize:t.style.fontSize}}),this.element.style.whiteSpace="nowrap"}getSpanCorrection(t,i,e){this.xCorr=-t*e,this.yCorr=-i}css(t){let i,{element:e}=this,s="SPAN"===e.tagName&&t&&"width"in t,h=s&&t.width;return s&&(delete t.width,this.textWidth=c(h)||void 0,i=!0),"ellipsis"===t?.textOverflow&&(t.whiteSpace="nowrap",t.overflow="hidden"),l(this.styles,t),n(e,t),i&&this.updateTransform(),this}htmlGetBBox(){let{element:t}=this;return{x:t.offsetLeft,y:t.offsetTop,width:t.offsetWidth,height:t.offsetHeight}}updateTransform(){if(!this.added)return void(this.alignOnAdd=!0);let{element:t,renderer:i,rotation:e,rotationOriginX:s,rotationOriginY:h,styles:r,textAlign:o="left",textWidth:l,translateX:c=0,translateY:d=0,x:u=0,y:f=0}=this,p={left:0,center:.5,right:1}[o],g=r.whiteSpace;if(n(t,{marginLeft:`${c}px`,marginTop:`${d}px`}),"SPAN"===t.tagName){let r,c=[e,o,t.innerHTML,l,this.textAlign].join(","),d=-1*this.parentGroup?.padding||0,m=!1;if(l!==this.oldTextWidth){let i=this.textPxLength?this.textPxLength:(n(t,{width:"",whiteSpace:g||"nowrap"}),t.offsetWidth),s=l||0;(s>this.oldTextWidth||i>s)&&(/[ \-]/.test(t.textContent||t.innerText)||"ellipsis"===t.style.textOverflow)&&(n(t,{width:i>s||e?l+"px":"auto",display:"block",whiteSpace:g||"normal"}),this.oldTextWidth=l,m=!0)}this.hasBoxWidthChanged=m,c!==this.cTT&&(r=i.fontMetrics(t).b,a(e)&&(e!==(this.oldRotation||0)||o!==this.oldAlign)&&this.setSpanRotation(e,d,d),this.getSpanCorrection(!a(e)&&this.textPxLength||t.offsetWidth,r,p));let{xCorr:b=0,yCorr:x=0}=this;n(t,{left:`${u+b}px`,top:`${f+x}px`,transformOrigin:`${(s??u)-b-u-d}px ${(h??f)-x-f-d}px`}),this.cTT=c,this.oldRotation=e,this.oldAlign=o}}setSpanRotation(t,i,e){n(this.element,{transform:`rotate(${t}deg)`,transformOrigin:`${i}% ${e}px`})}add(t){let i,e=this.renderer.box.parentNode,s=[];if(this.parentGroup=t,t&&!(i=t.div)){let h=t;for(;h;)s.push(h),h=h.parentGroup;for(let t of s.reverse())i=f(t,e)}return(i||e).appendChild(this.element),this.added=!0,this.alignOnAdd&&this.updateTransform(),this}textSetter(i){i!==this.textStr&&(delete this.bBox,delete this.oldTextWidth,t.setElementHTML(this.element,i??""),this.textStr=i,this.doTransform=!0)}alignSetter(t){this.alignValue=this.textAlign=t,this.doTransform=!0}xSetter(t,i){this[i]=t,this.doTransform=!0}}let g=p.prototype;return g.visibilitySetter=g.opacitySetter=u,g.ySetter=g.rotationSetter=g.rotationOriginXSetter=g.rotationOriginYSetter=g.xSetter,p})),e(i,"Core/Axis/AxisDefaults.js",[],(function(){var t,i;return(i=t||(t={})).xAxis={alignTicks:!0,allowDecimals:void 0,panningEnabled:!0,zIndex:2,zoomEnabled:!0,dateTimeLabelFormats:{millisecond:{main:"%H:%M:%S.%L",range:!1},second:{main:"%H:%M:%S",range:!1},minute:{main:"%H:%M",range:!1},hour:{main:"%H:%M",range:!1},day:{main:"%e %b"},week:{main:"%e %b"},month:{main:"%b '%y"},year:{main:"%Y"}},endOnTick:!1,gridLineDashStyle:"Solid",gridZIndex:1,labels:{autoRotationLimit:80,distance:15,enabled:!0,indentation:10,overflow:"justify",reserveSpace:void 0,rotation:void 0,staggerLines:0,step:0,useHTML:!1,zIndex:7,style:{color:"#333333",cursor:"default",fontSize:"0.8em"}},maxPadding:.01,minorGridLineDashStyle:"Solid",minorTickLength:2,minorTickPosition:"outside",minorTicksPerMajor:5,minPadding:.01,offset:void 0,reversed:void 0,reversedStacks:!1,showEmpty:!0,showFirstLabel:!0,showLastLabel:!0,startOfWeek:1,startOnTick:!1,tickLength:10,tickPixelInterval:100,tickmarkPlacement:"between",tickPosition:"outside",title:{align:"middle",useHTML:!1,x:0,y:0,style:{color:"#666666",fontSize:"0.8em"}},visible:!0,minorGridLineColor:"#f2f2f2",minorGridLineWidth:1,minorTickColor:"#999999",lineColor:"#333333",lineWidth:1,gridLineColor:"#e6e6e6",gridLineWidth:void 0,tickColor:"#333333"},i.yAxis={reversedStacks:!0,endOnTick:!0,maxPadding:.05,minPadding:.05,tickPixelInterval:72,showLastLabel:!0,labels:{x:void 0},startOnTick:!0,title:{text:"Values"},stackLabels:{animation:{},allowOverlap:!1,enabled:!1,crop:!0,overflow:"justify",formatter:function(){let{numberFormatter:t}=this.axis.chart;return t(this.total||0,-1)},style:{color:"#000000",fontSize:"0.7em",fontWeight:"bold",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0},t})),e(i,"Core/Foundation.js",[i["Core/Utilities.js"]],(function(t){var i;let{addEvent:e,isFunction:s,objectEach:h,removeEvent:r}=t;return(i||(i={})).registerEventOptions=function(t,i){t.eventOptions=t.eventOptions||{},h(i.events,(function(i,h){t.eventOptions[h]!==i&&(t.eventOptions[h]&&(r(t,h,t.eventOptions[h]),delete t.eventOptions[h]),s(i)&&(t.eventOptions[h]=i,e(t,h,i,{order:0})))}))},i})),e(i,"Core/Axis/Tick.js",[i["Core/Templating.js"],i["Core/Globals.js"],i["Core/Utilities.js"]],(function(t,i,e){let{deg2rad:s}=i,{clamp:h,correctFloat:r,defined:n,destroyObjectProperties:o,extend:a,fireEvent:l,isNumber:c,merge:d,objectEach:u,pick:f}=e;return class{constructor(t,i,e,s,h){this.isNew=!0,this.isNewLabel=!0,this.axis=t,this.pos=i,this.type=e||"",this.parameters=h||{},this.tickmarkOffset=this.parameters.tickmarkOffset,this.options=this.parameters.options,l(this,"init"),e||s||this.addLabel()}addLabel(){let i,e,s,h=this,o=h.axis,d=o.options,u=o.chart,p=o.categories,g=o.logarithmic,m=o.names,b=h.pos,x=f(h.options&&h.options.labels,d.labels),v=o.tickPositions,y=b===v[0],M=b===v[v.length-1],w=(!x.step||1===x.step)&&1===o.tickInterval,k=v.info,S=h.label,O=this.parameters.category||(p?f(p[b],m[b],b):b);g&&c(O)&&(O=r(g.lin2log(O))),o.dateTime&&(k?i=(e=u.time.resolveDTLFormat(d.dateTimeLabelFormats[!d.grid&&k.higherRanks[b]||k.unitName])).main:c(O)&&(i=o.dateTime.getXDateFormat(O,d.dateTimeLabelFormats||{}))),h.isFirst=y,h.isLast=M;let A={axis:o,chart:u,dateTimeLabelFormat:i,isFirst:y,isLast:M,pos:b,tick:h,tickPositionInfo:k,value:O};l(this,"labelFormat",A);let L=i=>x.formatter?x.formatter.call(i,i):x.format?(i.text=o.defaultLabelFormatter.call(i),t.format(x.format,i,u)):o.defaultLabelFormatter.call(i),C=L.call(A,A),j=e&&e.list;h.shortenLabel=j?function(){for(s=0;s<j.length;s++)if(a(A,{dateTimeLabelFormat:j[s]}),S.attr({text:L.call(A,A)}),S.getBBox().width<o.getSlotWidth(h)-2*(x.padding||0))return;S.attr({text:""})}:void 0,w&&o._addedPlotLB&&h.moveLabel(C,x),n(S)||h.movedLabel?S&&S.textStr!==C&&!w&&(!S.textWidth||x.style.width||S.styles.width||S.css({width:null}),S.attr({text:C}),S.textPxLength=S.getBBox().width):(h.label=S=h.createLabel(C,x),h.rotation=0)}createLabel(t,i,e){let s=this.axis,h=s.chart,r=n(t)&&i.enabled?h.renderer.text(t,e?.x,e?.y,i.useHTML).add(s.labelGroup):void 0;return r&&(h.styledMode||r.css(d(i.style)),r.textPxLength=r.getBBox().width),r}destroy(){o(this,this.axis)}getPosition(t,i,e,s){let n=this.axis,o=n.chart,a=s&&o.oldChartHeight||o.chartHeight,c={x:t?r(n.translate(i+e,void 0,void 0,s)+n.transB):n.left+n.offset+(n.opposite?(s&&o.oldChartWidth||o.chartWidth)-n.right-n.left:0),y:t?a-n.bottom+n.offset-(n.opposite?n.height:0):r(a-n.translate(i+e,void 0,void 0,s)-n.transB)};return c.y=h(c.y,-1e9,1e9),l(this,"afterGetPosition",{pos:c}),c}getLabelPosition(t,i,e,h,r,o,a,c){let d,u,p=this.axis,g=p.transA,m=p.isLinked&&p.linkedParent?p.linkedParent.reversed:p.reversed,b=p.staggerLines,x=p.tickRotCorr||{x:0,y:0},v=h||p.reserveSpaceDefault?0:-p.labelOffset*("center"===p.labelAlign?.5:1),y=r.distance,M={};return d=0===p.side?e.rotation?-y:-e.getBBox().height:2===p.side?x.y+y:Math.cos(e.rotation*s)*(x.y-e.getBBox(!1,0).height/2),n(r.y)&&(d=0===p.side&&p.horiz?r.y+d:r.y),t=t+f(r.x,[0,1,0,-1][p.side]*y)+v+x.x-(o&&h?o*g*(m?-1:1):0),i=i+d-(o&&!h?o*g*(m?1:-1):0),b&&(u=a/(c||1)%b,p.opposite&&(u=b-u-1),i+=u*(p.labelOffset/b)),M.x=t,M.y=Math.round(i),l(this,"afterGetLabelPosition",{pos:M,tickmarkOffset:o,index:a}),M}getLabelSize(){return this.label?this.label.getBBox()[this.axis.horiz?"height":"width"]:0}getMarkPath(t,i,e,s,h=!1,r){return r.crispLine([["M",t,i],["L",t+(h?0:-e),i+(h?e:0)]],s)}handleOverflow(t){let i,e,h,r=this.axis,n=r.options.labels,o=t.x,a=r.chart.chartWidth,l=r.chart.spacing,c=f(r.labelLeft,Math.min(r.pos,l[3])),d=f(r.labelRight,Math.max(r.isRadial?0:r.pos+r.len,a-l[1])),u=this.label,p=this.rotation,g={left:0,center:.5,right:1}[r.labelAlign||u.attr("align")],m=u.getBBox().width,b=r.getSlotWidth(this),x={},v=b,y=1;p||"justify"!==n.overflow?p<0&&o-g*m<c?h=Math.round(o/Math.cos(p*s)-c):p>0&&o+g*m>d&&(h=Math.round((a-o)/Math.cos(p*s))):(i=o-g*m,e=o+(1-g)*m,i<c?v=t.x+v*(1-g)-c:e>d&&(v=d-t.x+v*g,y=-1),(v=Math.min(b,v))<b&&"center"===r.labelAlign&&(t.x+=y*(b-v-g*(b-Math.min(m,v)))),(m>v||r.autoRotation&&(u.styles||{}).width)&&(h=v)),h&&(this.shortenLabel?this.shortenLabel():(x.width=Math.floor(h)+"px",(n.style||{}).textOverflow||(x.textOverflow="ellipsis"),u.css(x)))}moveLabel(t,i){let e,s=this,h=s.label,r=s.axis,n=!1;h&&h.textStr===t?(s.movedLabel=h,n=!0,delete s.label):u(r.ticks,(function(i){n||i.isNew||i===s||!i.label||i.label.textStr!==t||(s.movedLabel=i.label,n=!0,i.labelPos=s.movedLabel.xy,delete i.label)})),!n&&(s.labelPos||h)&&(e=s.labelPos||h.xy,s.movedLabel=s.createLabel(t,i,e),s.movedLabel&&s.movedLabel.attr({opacity:0}))}render(t,i,e){let s=this.axis,h=s.horiz,n=this.pos,o=f(this.tickmarkOffset,s.tickmarkOffset),a=this.getPosition(h,n,o,i),c=s.pos,d=c+s.len,u=h?a.x:a.y;!s.chart.polar&&this.isNew&&(r(u)<c||u>d)&&(e=0);let p=f(e,this.label&&this.label.newOpacity,1);e=f(e,1),this.isActive=!0,this.renderGridLine(i,e),this.renderMark(a,e),this.renderLabel(a,i,p,t),this.isNew=!1,l(this,"afterRender")}renderGridLine(t,i){let e,s=this.axis,h=s.options,r={},n=this.pos,o=this.type,a=f(this.tickmarkOffset,s.tickmarkOffset),l=s.chart.renderer,c=this.gridLine,d=h.gridLineWidth,u=h.gridLineColor,p=h.gridLineDashStyle;"minor"===this.type&&(d=h.minorGridLineWidth,u=h.minorGridLineColor,p=h.minorGridLineDashStyle),c||(s.chart.styledMode||(r.stroke=u,r["stroke-width"]=d||0,r.dashstyle=p),o||(r.zIndex=1),t&&(i=0),this.gridLine=c=l.path().attr(r).addClass("highcharts-"+(o?o+"-":"")+"grid-line").add(s.gridGroup)),c&&(e=s.getPlotLinePath({value:n+a,lineWidth:c.strokeWidth(),force:"pass",old:t,acrossPanes:!1}))&&c[t||this.isNew?"attr":"animate"]({d:e,opacity:i})}renderMark(t,i){let e=this.axis,s=e.options,h=e.chart.renderer,r=this.type,n=e.tickSize(r?r+"Tick":"tick"),o=t.x,a=t.y,l=f(s["minor"!==r?"tickWidth":"minorTickWidth"],!r&&e.isXAxis?1:0),c=s["minor"!==r?"tickColor":"minorTickColor"],d=this.mark,u=!d;n&&(e.opposite&&(n[0]=-n[0]),d||(this.mark=d=h.path().addClass("highcharts-"+(r?r+"-":"")+"tick").add(e.axisGroup),e.chart.styledMode||d.attr({stroke:c,"stroke-width":l})),d[u?"attr":"animate"]({d:this.getMarkPath(o,a,n[0],d.strokeWidth(),e.horiz,h),opacity:i}))}renderLabel(t,i,e,s){let h=this.axis,r=h.horiz,n=h.options,o=this.label,a=n.labels,l=a.step,d=f(this.tickmarkOffset,h.tickmarkOffset),u=t.x,p=t.y,g=!0;o&&c(u)&&(o.xy=t=this.getLabelPosition(u,p,o,r,a,d,s,l),this.isFirst&&!this.isLast&&!n.showFirstLabel||this.isLast&&!this.isFirst&&!n.showLastLabel?g=!1:!r||a.step||a.rotation||i||0===e||this.handleOverflow(t),l&&s%l&&(g=!1),g&&c(t.y)?(t.opacity=e,o[this.isNewLabel?"attr":"animate"](t).show(!0),this.isNewLabel=!1):(o.hide(),this.isNewLabel=!0))}replaceMovedLabel(){let t=this.label,i=this.axis;t&&!this.isNew&&(t.animate({opacity:0},void 0,t.destroy),delete this.label),i.isDirty=!0,this.label=this.movedLabel,delete this.movedLabel}}})),e(i,"Core/Axis/Axis.js",[i["Core/Animation/AnimationUtilities.js"],i["Core/Axis/AxisDefaults.js"],i["Core/Color/Color.js"],i["Core/Defaults.js"],i["Core/Foundation.js"],i["Core/Globals.js"],i["Core/Axis/Tick.js"],i["Core/Utilities.js"]],(function(t,i,e,s,h,r,n,o){let{animObject:a}=t,{xAxis:l,yAxis:c}=i,{defaultOptions:d}=s,{registerEventOptions:u}=h,{deg2rad:f}=r,{arrayMax:p,arrayMin:g,clamp:m,correctFloat:b,defined:x,destroyObjectProperties:v,erase:y,error:M,extend:w,fireEvent:k,getClosestDistance:S,insertItem:O,isArray:A,isNumber:L,isString:C,merge:j,normalizeTickInterval:T,objectEach:P,pick:E,relativeLength:z,removeEvent:D,splat:N,syncTimeout:I}=o,F=(t,i)=>T(i,void 0,void 0,E(t.options.allowDecimals,i<.5||void 0!==t.tickAmount),!!t.tickAmount);w(d,{xAxis:l,yAxis:j(l,c)});class R{constructor(t,i,e){this.init(t,i,e)}init(t,i,e=this.coll){let s="xAxis"===e,h=this.isZAxis||(t.inverted?!s:s);this.chart=t,this.horiz=h,this.isXAxis=s,this.coll=e,k(this,"init",{userOptions:i}),this.opposite=E(i.opposite,this.opposite),this.side=E(i.side,this.side,h?this.opposite?0:2:this.opposite?1:3),this.setOptions(i);let r=this.options,n=r.labels;this.type??(this.type=r.type||"linear"),this.uniqueNames??(this.uniqueNames=r.uniqueNames??!0),k(this,"afterSetType"),this.userOptions=i,this.minPixelPadding=0,this.reversed=E(r.reversed,this.reversed),this.visible=r.visible,this.zoomEnabled=r.zoomEnabled,this.hasNames="category"===this.type||!0===r.categories,this.categories=A(r.categories)&&r.categories||(this.hasNames?[]:void 0),this.names||(this.names=[],this.names.keys={}),this.plotLinesAndBandsGroups={},this.positiveValuesOnly=!!this.logarithmic,this.isLinked=x(r.linkedTo),this.ticks={},this.labelEdge=[],this.minorTicks={},this.plotLinesAndBands=[],this.alternateBands={},this.len??(this.len=0),this.minRange=this.userMinRange=r.minRange||r.maxZoom,this.range=r.range,this.offset=r.offset||0,this.max=void 0,this.min=void 0;let o=E(r.crosshair,N(t.options.tooltip.crosshairs)[s?0:1]);this.crosshair=!0===o?{}:o,-1===t.axes.indexOf(this)&&(s?t.axes.splice(t.xAxis.length,0,this):t.axes.push(this),O(this,t[this.coll])),t.orderItems(this.coll),this.series=this.series||[],t.inverted&&!this.isZAxis&&s&&!x(this.reversed)&&(this.reversed=!0),this.labelRotation=L(n.rotation)?n.rotation:void 0,u(this,r),k(this,"afterInit")}setOptions(t){this.options=j(this.horiz?{labels:{autoRotation:[-45],padding:4},margin:15}:{labels:{padding:1},title:{rotation:90*this.side}},d[this.coll],t),k(this,"afterSetOptions",{userOptions:t})}defaultLabelFormatter(){let t,i,e=this.axis,{numberFormatter:s}=this.chart,h=L(this.value)?this.value:NaN,r=e.chart.time,n=e.categories,o=this.dateTimeLabelFormat,a=d.lang,l=a.numericSymbols,c=a.numericSymbolMagnitude||1e3,u=e.logarithmic?Math.abs(h):e.tickInterval,f=l&&l.length;if(n)i=`${this.value}`;else if(o)i=r.dateFormat(o,h);else if(f&&l&&u>=1e3)for(;f--&&void 0===i;)u>=(t=Math.pow(c,f+1))&&10*h%t==0&&null!==l[f]&&0!==h&&(i=s(h/t,-1)+l[f]);return void 0===i&&(i=Math.abs(h)>=1e4?s(h,-1):s(h,-1,void 0,"")),i}getSeriesExtremes(){let t,i=this;k(this,"getSeriesExtremes",null,(function(){i.hasVisibleSeries=!1,i.dataMin=i.dataMax=i.threshold=void 0,i.softThreshold=!i.isXAxis,i.series.forEach((e=>{if(e.reserveSpace()){let s,h,r,n=e.options,o=n.threshold;if(i.hasVisibleSeries=!0,i.positiveValuesOnly&&0>=(o||0)&&(o=void 0),i.isXAxis)(s=e.xData)&&s.length&&(s=i.logarithmic?s.filter((t=>t>0)):s,h=(t=e.getXExtremes(s)).min,r=t.max,L(h)||h instanceof Date||(s=s.filter(L),h=(t=e.getXExtremes(s)).min,r=t.max),s.length&&(i.dataMin=Math.min(E(i.dataMin,h),h),i.dataMax=Math.max(E(i.dataMax,r),r)));else{let t=e.applyExtremes();L(t.dataMin)&&(h=t.dataMin,i.dataMin=Math.min(E(i.dataMin,h),h)),L(t.dataMax)&&(r=t.dataMax,i.dataMax=Math.max(E(i.dataMax,r),r)),x(o)&&(i.threshold=o),(!n.softThreshold||i.positiveValuesOnly)&&(i.softThreshold=!1)}}}))})),k(this,"afterGetSeriesExtremes")}translate(t,i,e,s,h,r){let n=this.linkedParent||this,o=s&&n.old?n.old.min:n.min;if(!L(o))return NaN;let a=n.minPixelPadding,l=(n.isOrdinal||n.brokenAxis?.hasBreaks||n.logarithmic&&h)&&n.lin2val,c=1,d=0,u=s&&n.old?n.old.transA:n.transA,f=0;return u||(u=n.transA),e&&(c*=-1,d=n.len),n.reversed&&(c*=-1,d-=c*(n.sector||n.len)),i?(f=(t=t*c+d-a)/u+o,l&&(f=n.lin2val(f))):(l&&(t=n.val2lin(t)),f=c*(t-o)*u+d+c*a+(L(r)?u*r:0),n.isRadial||(f=b(f))),f}toPixels(t,i){return this.translate(t,!1,!this.horiz,void 0,!0)+(i?0:this.pos)}toValue(t,i){return this.translate(t-(i?0:this.pos),!0,!this.horiz,void 0,!0)}getPlotLinePath(t){let i,e,s,h,r,n=this,o=n.chart,a=n.left,l=n.top,c=t.old,d=t.value,u=t.lineWidth,f=c&&o.oldChartHeight||o.chartHeight,p=c&&o.oldChartWidth||o.chartWidth,g=n.transB,b=t.translatedValue,x=t.force;function v(t,i,e){return"pass"!==x&&(t<i||t>e)&&(x?t=m(t,i,e):r=!0),t}let y={value:d,lineWidth:u,old:c,force:x,acrossPanes:t.acrossPanes,translatedValue:b};return k(this,"getPlotLinePath",y,(function(t){i=s=(b=m(b=E(b,n.translate(d,void 0,void 0,c)),-1e9,1e9))+g,e=h=f-b-g,L(b)?n.horiz?(e=l,h=f-n.bottom+(n.options.isInternal?0:o.scrollablePixelsY||0),i=s=v(i,a,a+n.width)):(i=a,s=p-n.right+(o.scrollablePixelsX||0),e=h=v(e,l,l+n.height)):(r=!0,x=!1),t.path=r&&!x?void 0:o.renderer.crispLine([["M",i,e],["L",s,h]],u||1)})),y.path}getLinearTickPositions(t,i,e){let s,h,r,n=b(Math.floor(i/t)*t),o=b(Math.ceil(e/t)*t),a=[];if(b(n+t)===n&&(r=20),this.single)return[i];for(s=n;s<=o&&(a.push(s),(s=b(s+t,r))!==h);)h=s;return a}getMinorTickInterval(){let{minorTicks:t,minorTickInterval:i}=this.options;return!0===t?E(i,"auto"):!1!==t?i:void 0}getMinorTickPositions(){let t,i=this.options,e=this.tickPositions,s=this.minorTickInterval,h=this.pointRangePadding||0,r=(this.min||0)-h,n=(this.max||0)+h,o=n-r,a=[];if(o&&o/s<this.len/3){let h=this.logarithmic;if(h)this.paddedTicks.forEach((function(t,i,e){i&&a.push.apply(a,h.getLogTickPositions(s,e[i-1],e[i],!0))}));else if(this.dateTime&&"auto"===this.getMinorTickInterval())a=a.concat(this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(s),r,n,i.startOfWeek));else for(t=r+(e[0]-r)%s;t<=n&&t!==a[0];t+=s)a.push(t)}return 0!==a.length&&this.trimTicks(a),a}adjustForMinRange(){let t,i,e,s,h=this.options,r=this.logarithmic,{max:n,min:o,minRange:a}=this;this.isXAxis&&void 0===a&&!r&&(a=x(h.min)||x(h.max)||x(h.floor)||x(h.ceiling)?null:Math.min(5*(S(this.series.map((t=>(t.xIncrement?t.xData?.slice(0,2):t.xData)||[])))||0),this.dataMax-this.dataMin)),L(n)&&L(o)&&L(a)&&n-o<a&&(i=this.dataMax-this.dataMin>=a,t=(a-n+o)/2,e=[o-t,E(h.min,o-t)],i&&(e[2]=r?r.log2lin(this.dataMin):this.dataMin),s=[(o=p(e))+a,E(h.max,o+a)],i&&(s[2]=r?r.log2lin(this.dataMax):this.dataMax),(n=g(s))-o<a&&(e[0]=n-a,e[1]=E(h.min,n-a),o=p(e))),this.minRange=a,this.min=o,this.max=n}getClosest(){let t,i;if(this.categories)i=1;else{let e=[];this.series.forEach((function(t){let s=t.closestPointRange;1===t.xData?.length?e.push(t.xData[0]):!t.noSharedTooltip&&x(s)&&t.reserveSpace()&&(i=x(i)?Math.min(i,s):s)})),e.length&&(e.sort(((t,i)=>t-i)),t=S([e]))}return t&&i?Math.min(t,i):t||i}nameToX(t){let i,e=A(this.options.categories),s=e?this.categories:this.names,h=t.options.x;return t.series.requireSorting=!1,x(h)||(h=this.uniqueNames&&s?e?s.indexOf(t.name):E(s.keys[t.name],-1):t.series.autoIncrement()),-1===h?!e&&s&&(i=s.length):i=h,void 0!==i?(this.names[i]=t.name,this.names.keys[t.name]=i):t.x&&(i=t.x),i}updateNames(){let t=this,i=this.names;i.length>0&&(Object.keys(i.keys).forEach((function(t){delete i.keys[t]})),i.length=0,this.minRange=this.userMinRange,(this.series||[]).forEach((i=>{i.xIncrement=null,(!i.points||i.isDirtyData)&&(t.max=Math.max(t.max,i.xData.length-1),i.processData(),i.generatePoints()),i.data.forEach((function(e,s){let h;e?.options&&void 0!==e.name&&void 0!==(h=t.nameToX(e))&&h!==e.x&&(e.x=h,i.xData[s]=h)}))})))}setAxisTranslation(){let t,i,e=this,s=e.max-e.min,h=e.linkedParent,r=!!e.categories,n=e.isXAxis,o=e.axisPointRange||0,a=0,l=0,c=e.transA;(n||r||o)&&(t=e.getClosest(),h?(a=h.minPointOffset,l=h.pointRangePadding):e.series.forEach((function(i){let s=r?1:n?E(i.options.pointRange,t,0):e.axisPointRange||0,h=i.options.pointPlacement;if(o=Math.max(o,s),!e.single||r){let t=i.is("xrange")?!n:n;a=Math.max(a,t&&C(h)?0:s/2),l=Math.max(l,t&&"on"===h?0:s)}})),i=e.ordinal&&e.ordinal.slope&&t?e.ordinal.slope/t:1,e.minPointOffset=a*=i,e.pointRangePadding=l*=i,e.pointRange=Math.min(o,e.single&&r?1:s),n&&t&&(e.closestPointRange=t)),e.translationSlope=e.transA=c=e.staticScale||e.len/(s+l||1),e.transB=e.horiz?e.left:e.bottom,e.minPixelPadding=c*a,k(this,"afterSetAxisTranslation")}minFromRange(){let{max:t,min:i}=this;return L(t)&&L(i)&&t-i||void 0}setTickInterval(t){let i,e,s,h,r,{categories:n,chart:o,dataMax:a,dataMin:l,dateTime:c,isXAxis:d,logarithmic:u,options:f,softThreshold:p}=this,g=L(this.threshold)?this.threshold:void 0,m=this.minRange||0,{ceiling:v,floor:y,linkedTo:w,softMax:S,softMin:O}=f,A=L(w)&&o[this.coll]?.[w],C=f.tickPixelInterval,j=f.maxPadding,T=f.minPadding,P=0,z=L(f.tickInterval)&&f.tickInterval>=0?f.tickInterval:void 0;if(c||n||A||this.getTickAmount(),h=E(this.userMin,f.min),r=E(this.userMax,f.max),A?(this.linkedParent=A,i=A.getExtremes(),this.min=E(i.min,i.dataMin),this.max=E(i.max,i.dataMax),this.type!==A.type&&M(11,!0,o)):(p&&x(g)&&L(a)&&L(l)&&(l>=g?(e=g,T=0):a<=g&&(s=g,j=0)),this.min=E(h,e,l),this.max=E(r,s,a)),L(this.max)&&L(this.min)&&(u&&(this.positiveValuesOnly&&!t&&0>=Math.min(this.min,E(l,this.min))&&M(10,!0,o),this.min=b(u.log2lin(this.min),16),this.max=b(u.log2lin(this.max),16)),this.range&&L(l)&&(this.userMin=this.min=h=Math.max(l,this.minFromRange()||0),this.userMax=r=this.max,this.range=void 0)),k(this,"foundExtremes"),this.adjustForMinRange(),L(this.min)&&L(this.max)){if(!L(this.userMin)&&L(O)&&O<this.min&&(this.min=h=O),!L(this.userMax)&&L(S)&&S>this.max&&(this.max=r=S),n||this.axisPointRange||this.stacking?.usePercentage||A||!(P=this.max-this.min)||(!x(h)&&T&&(this.min-=P*T),x(r)||!j||(this.max+=P*j)),!L(this.userMin)&&L(y)&&(this.min=Math.max(this.min,y)),!L(this.userMax)&&L(v)&&(this.max=Math.min(this.max,v)),p&&L(l)&&L(a)){let t=g||0;!x(h)&&this.min<t&&l>=t?this.min=f.minRange?Math.min(t,this.max-m):t:!x(r)&&this.max>t&&a<=t&&(this.max=f.minRange?Math.max(t,this.min+m):t)}!o.polar&&this.min>this.max&&(x(f.min)?this.max=this.min:x(f.max)&&(this.min=this.max)),P=this.max-this.min}if(this.tickInterval=this.min!==this.max&&L(this.min)&&L(this.max)?A&&!z&&C===A.options.tickPixelInterval?z=A.tickInterval:E(z,this.tickAmount?P/Math.max(this.tickAmount-1,1):void 0,n?1:P*C/Math.max(this.len,C)):1,d&&!t){let t=this.min!==this.old?.min||this.max!==this.old?.max;this.series.forEach((function(i){i.forceCrop=i.forceCropping?.(),i.processData(t)})),k(this,"postProcessData",{hasExtremesChanged:t})}this.setAxisTranslation(),k(this,"initialAxisTranslation"),this.pointRange&&!z&&(this.tickInterval=Math.max(this.pointRange,this.tickInterval));let D=E(f.minTickInterval,c&&!this.series.some((t=>t.noSharedTooltip))?this.closestPointRange:0);!z&&this.tickInterval<D&&(this.tickInterval=D),c||u||z||(this.tickInterval=F(this,this.tickInterval)),this.tickAmount||(this.tickInterval=this.unsquish()),this.setTickPositions()}setTickPositions(){let t,i=this.options,e=i.tickPositions,s=i.tickPositioner,h=this.getMinorTickInterval(),r=!this.isPanning,n=r&&i.startOnTick,o=r&&i.endOnTick,a=[];if(this.tickmarkOffset=this.categories&&"between"===i.tickmarkPlacement&&1===this.tickInterval?.5:0,this.single=this.min===this.max&&x(this.min)&&!this.tickAmount&&(this.min%1==0||!1!==i.allowDecimals),e)a=e.slice();else if(L(this.min)&&L(this.max)){if(!this.ordinal?.positions&&(this.max-this.min)/this.tickInterval>Math.max(2*this.len,200))a=[this.min,this.max],M(19,!1,this.chart);else if(this.dateTime)a=this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(this.tickInterval,i.units),this.min,this.max,i.startOfWeek,this.ordinal?.positions,this.closestPointRange,!0);else if(this.logarithmic)a=this.logarithmic.getLogTickPositions(this.tickInterval,this.min,this.max);else{let t=this.tickInterval,i=t;for(;i<=2*t&&(a=this.getLinearTickPositions(this.tickInterval,this.min,this.max),this.tickAmount&&a.length>this.tickAmount);)this.tickInterval=F(this,i*=1.1)}a.length>this.len&&(a=[a[0],a[a.length-1]])[0]===a[1]&&(a.length=1),s&&(this.tickPositions=a,(t=s.apply(this,[this.min,this.max]))&&(a=t))}this.tickPositions=a,this.minorTickInterval="auto"===h&&this.tickInterval?this.tickInterval/i.minorTicksPerMajor:h,this.paddedTicks=a.slice(0),this.trimTicks(a,n,o),!this.isLinked&&L(this.min)&&L(this.max)&&(this.single&&a.length<2&&!this.categories&&!this.series.some((t=>t.is("heatmap")&&"between"===t.options.pointPlacement))&&(this.min-=.5,this.max+=.5),e||t||this.adjustTickAmount()),k(this,"afterSetTickPositions")}trimTicks(t,i,e){let s=t[0],h=t[t.length-1],r=!this.isOrdinal&&this.minPointOffset||0;if(k(this,"trimTicks"),!this.isLinked){if(i&&s!==-1/0)this.min=s;else for(;this.min-r>t[0];)t.shift();if(e)this.max=h;else for(;this.max+r<t[t.length-1];)t.pop();0===t.length&&x(s)&&!this.options.tickPositions&&t.push((h+s)/2)}}alignToOthers(){let t,i=this,e=i.chart,s=[this],h=i.options,r=e.options.chart,n="yAxis"===this.coll&&r.alignThresholds,o=[];if(i.thresholdAlignment=void 0,(!1!==r.alignTicks&&h.alignTicks||n)&&!1!==h.startOnTick&&!1!==h.endOnTick&&!i.logarithmic){let h=t=>{let{horiz:i,options:e}=t;return[i?e.left:e.top,e.width,e.height,e.pane].join(",")},r=h(this);e[this.coll].forEach((function(e){let{series:n}=e;n.length&&n.some((t=>t.visible))&&e!==i&&h(e)===r&&(t=!0,s.push(e))}))}if(t&&n){s.forEach((t=>{let e=t.getThresholdAlignment(i);L(e)&&o.push(e)}));let t=o.length>1?o.reduce(((t,i)=>t+i),0)/o.length:void 0;s.forEach((i=>{i.thresholdAlignment=t}))}return t}getThresholdAlignment(t){if((!L(this.dataMin)||this!==t&&this.series.some((t=>t.isDirty||t.isDirtyData)))&&this.getSeriesExtremes(),L(this.threshold)){let t=m((this.threshold-(this.dataMin||0))/((this.dataMax||0)-(this.dataMin||0)),0,1);return this.options.reversed&&(t=1-t),t}}getTickAmount(){let t=this.options,i=t.tickPixelInterval,e=t.tickAmount;x(t.tickInterval)||e||!(this.len<i)||this.isRadial||this.logarithmic||!t.startOnTick||!t.endOnTick||(e=2),!e&&this.alignToOthers()&&(e=Math.ceil(this.len/i)+1),e<4&&(this.finalTickAmt=e,e=5),this.tickAmount=e}adjustTickAmount(){let t,i,e,s=this,{finalTickAmt:h,max:r,min:n,options:o,tickPositions:a,tickAmount:l,thresholdAlignment:c}=s,d=a?.length,u=E(s.threshold,s.softThreshold?0:null),f=s.tickInterval,p=()=>a.push(b(a[a.length-1]+f)),g=()=>a.unshift(b(a[0]-f));if(L(c)&&(e=c<.5?Math.ceil(c*(l-1)):Math.floor(c*(l-1)),o.reversed&&(e=l-1-e)),s.hasData()&&L(n)&&L(r)){let c=()=>{s.transA*=(d-1)/(l-1),s.min=o.startOnTick?a[0]:Math.min(n,a[0]),s.max=o.endOnTick?a[a.length-1]:Math.max(r,a[a.length-1])};if(L(e)&&L(s.threshold)){for(;a[e]!==u||a.length!==l||a[0]>n||a[a.length-1]<r;){for(a.length=0,a.push(s.threshold);a.length<l;)void 0===a[e]||a[e]>s.threshold?g():p();if(f>8*s.tickInterval)break;f*=2}c()}else if(d<l){for(;a.length<l;)a.length%2||n===u?p():g();c()}if(x(h)){for(i=t=a.length;i--;)(3===h&&i%2==1||h<=2&&i>0&&i<t-1)&&a.splice(i,1);s.finalTickAmt=void 0}}}setScale(){let{coll:t,stacking:i}=this,e=!1,s=!1;this.series.forEach((t=>{e=e||t.isDirtyData||t.isDirty,s=s||t.xAxis&&t.xAxis.isDirty||!1})),this.setAxisSize();let h=this.len!==(this.old&&this.old.len);h||e||s||this.isLinked||this.forceRedraw||this.userMin!==(this.old&&this.old.userMin)||this.userMax!==(this.old&&this.old.userMax)||this.alignToOthers()?(i&&"yAxis"===t&&i.buildStacks(),this.forceRedraw=!1,this.userMinRange||(this.minRange=void 0),this.getSeriesExtremes(),this.setTickInterval(),i&&"xAxis"===t&&i.buildStacks(),this.isDirty||(this.isDirty=h||this.min!==this.old?.min||this.max!==this.old?.max)):i&&i.cleanStacks(),e&&delete this.allExtremes,k(this,"afterSetScale")}setExtremes(t,i,e=!0,s,h){this.series.forEach((t=>{delete t.kdTree})),k(this,"setExtremes",h=w(h,{min:t,max:i}),(t=>{this.userMin=t.min,this.userMax=t.max,this.eventArgs=t,e&&this.chart.redraw(s)}))}setAxisSize(){let t=this.chart,i=this.options,e=i.offsets||[0,0,0,0],s=this.horiz,h=this.width=Math.round(z(E(i.width,t.plotWidth-e[3]+e[1]),t.plotWidth)),r=this.height=Math.round(z(E(i.height,t.plotHeight-e[0]+e[2]),t.plotHeight)),n=this.top=Math.round(z(E(i.top,t.plotTop+e[0]),t.plotHeight,t.plotTop)),o=this.left=Math.round(z(E(i.left,t.plotLeft+e[3]),t.plotWidth,t.plotLeft));this.bottom=t.chartHeight-r-n,this.right=t.chartWidth-h-o,this.len=Math.max(s?h:r,0),this.pos=s?o:n}getExtremes(){let t=this.logarithmic;return{min:t?b(t.lin2log(this.min)):this.min,max:t?b(t.lin2log(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}}getThreshold(t){let i=this.logarithmic,e=i?i.lin2log(this.min):this.min,s=i?i.lin2log(this.max):this.max;return null===t||t===-1/0?t=e:t===1/0?t=s:e>t?t=e:s<t&&(t=s),this.translate(t,0,1,0,1)}autoLabelAlign(t){let i=(E(t,0)-90*this.side+720)%360,e={align:"center"};return k(this,"autoLabelAlign",e,(function(t){i>15&&i<165?t.align="right":i>195&&i<345&&(t.align="left")})),e.align}tickSize(t){let i,e=this.options,s=E(e["tick"===t?"tickWidth":"minorTickWidth"],"tick"===t&&this.isXAxis&&!this.categories?1:0),h=e["tick"===t?"tickLength":"minorTickLength"];s&&h&&("inside"===e[t+"Position"]&&(h=-h),i=[h,s]);let r={tickSize:i};return k(this,"afterTickSize",r),r.tickSize}labelMetrics(){let t=this.chart.renderer,i=this.ticks,e=i[Object.keys(i)[0]]||{};return this.chart.renderer.fontMetrics(e.label||e.movedLabel||t.box)}unsquish(){let t,i,e=this.options.labels,s=e.padding||0,h=this.horiz,r=this.tickInterval,n=this.len/(((this.categories?1:0)+this.max-this.min)/r),o=e.rotation,a=b(.8*this.labelMetrics().h),l=Math.max(this.max-this.min,0),c=function(t){let i=(t+2*s)/(n||1);return(i=i>1?Math.ceil(i):1)*r>l&&t!==1/0&&n!==1/0&&l&&(i=Math.ceil(l/r)),b(i*r)},d=r,u=Number.MAX_VALUE;if(h){if(!e.staggerLines&&(L(o)?i=[o]:n<e.autoRotationLimit&&(i=e.autoRotation)),i){let e,s;for(let h of i)(h===o||h&&h>=-90&&h<=90)&&(s=(e=c(Math.abs(a/Math.sin(f*h))))+Math.abs(h/360))<u&&(u=s,t=h,d=e)}}else d=c(.75*a);return this.autoRotation=i,this.labelRotation=E(t,L(o)?o:0),e.step?r:d}getSlotWidth(t){let i=this.chart,e=this.horiz,s=this.options.labels,h=Math.max(this.tickPositions.length-(this.categories?0:1),1),r=i.margin[3];if(t&&L(t.slotWidth))return t.slotWidth;if(e&&s.step<2)return s.rotation?0:(this.staggerLines||1)*this.len/h;if(!e){let t=s.style.width;if(void 0!==t)return parseInt(String(t),10);if(r)return r-i.spacing[3]}return.33*i.chartWidth}renderUnsquish(){let t,i,e,s,h=this.chart,r=h.renderer,n=this.tickPositions,o=this.ticks,a=this.options.labels,l=a.style,c=this.horiz,d=this.getSlotWidth(),u=Math.max(1,Math.round(d-(c?2*(a.padding||0):a.distance||0))),f={},p=this.labelMetrics(),g=l.textOverflow,m=0;if(C(a.rotation)||(f.rotation=a.rotation||0),n.forEach((function(t){let i=o[t];i.movedLabel&&i.replaceMovedLabel(),i&&i.label&&i.label.textPxLength>m&&(m=i.label.textPxLength)})),this.maxLabelLength=m,this.autoRotation)m>u&&m>p.h?f.rotation=this.labelRotation:this.labelRotation=0;else if(d&&(t=u,!g))for(i="clip",s=n.length;!c&&s--;)(e=o[n[s]].label)&&("ellipsis"===e.styles.textOverflow?e.css({textOverflow:"clip"}):e.textPxLength>d&&e.css({width:d+"px"}),e.getBBox().height>this.len/n.length-(p.h-p.f)&&(e.specificTextOverflow="ellipsis"));f.rotation&&(t=m>.5*h.chartHeight?.33*h.chartHeight:m,g||(i="ellipsis")),this.labelAlign=a.align||this.autoLabelAlign(this.labelRotation),this.labelAlign&&(f.align=this.labelAlign),n.forEach((function(e){let s=o[e],h=s&&s.label,r=l.width,n={};h&&(h.attr(f),s.shortenLabel?s.shortenLabel():t&&!r&&"nowrap"!==l.whiteSpace&&(t<h.textPxLength||"SPAN"===h.element.tagName)?(n.width=t+"px",g||(n.textOverflow=h.specificTextOverflow||i),h.css(n)):!h.styles.width||n.width||r||h.css({width:null}),delete h.specificTextOverflow,s.rotation=f.rotation)}),this),this.tickRotCorr=r.rotCorr(p.b,this.labelRotation||0,0!==this.side)}hasData(){return this.series.some((function(t){return t.hasData()}))||this.options.showEmpty&&x(this.min)&&x(this.max)}addTitle(t){let i,e=this.opposite,s=this.options.title,h=this.chart.styledMode;this.axisTitle||((i=s.textAlign)||(i=(this.horiz?{low:"left",middle:"center",high:"right"}:{low:e?"right":"left",middle:"center",high:e?"left":"right"})[s.align]),this.axisTitle=this.chart.renderer.text(s.text||"",0,0,s.useHTML).attr({zIndex:7,rotation:s.rotation||0,align:i}).addClass("highcharts-axis-title"),h||this.axisTitle.css(j(s.style)),this.axisTitle.add(this.axisGroup),this.axisTitle.isNew=!0),h||s.style.width||this.isRadial||this.axisTitle.css({width:this.len+"px"}),this.axisTitle[t?"show":"hide"](t)}generateTick(t){let i=this.ticks;i[t]?i[t].addLabel():i[t]=new n(this,t)}createGroups(){let{axisParent:t,chart:i,coll:e,options:s}=this,h=i.renderer,r=(i,r,n)=>h.g(i).attr({zIndex:n}).addClass(`highcharts-${e.toLowerCase()}${r} `+(this.isRadial?`highcharts-radial-axis${r} `:"")+(s.className||"")).add(t);this.axisGroup||(this.gridGroup=r("grid","-grid",s.gridZIndex),this.axisGroup=r("axis","",s.zIndex),this.labelGroup=r("axis-labels","-labels",s.labels.zIndex))}getOffset(){let t,i,e,s,h=this,{chart:r,horiz:n,options:o,side:a,ticks:l,tickPositions:c,coll:d}=h,u=r.inverted&&!h.isZAxis?[1,0,3,2][a]:a,f=h.hasData(),p=o.title,g=o.labels,m=L(o.crossing),b=r.axisOffset,v=r.clipOffset,y=[-1,1,1,-1][a],M=0,w=0,S=0;if(h.showAxis=t=f||o.showEmpty,h.staggerLines=h.horiz&&g.staggerLines||void 0,h.createGroups(),f||h.isLinked?(c.forEach((function(t){h.generateTick(t)})),h.renderUnsquish(),h.reserveSpaceDefault=0===a||2===a||{1:"left",3:"right"}[a]===h.labelAlign,E(g.reserveSpace,!m&&null,"center"===h.labelAlign||null,h.reserveSpaceDefault)&&c.forEach((function(t){S=Math.max(l[t].getLabelSize(),S)})),h.staggerLines&&(S*=h.staggerLines),h.labelOffset=S*(h.opposite?-1:1)):P(l,(function(t,i){t.destroy(),delete l[i]})),p?.text&&!1!==p.enabled&&(h.addTitle(t),t&&!m&&!1!==p.reserveSpace&&(h.titleOffset=M=h.axisTitle.getBBox()[n?"height":"width"],w=x(i=p.offset)?0:E(p.margin,n?5:10))),h.renderLine(),h.offset=y*E(o.offset,b[a]?b[a]+(o.margin||0):0),h.tickRotCorr=h.tickRotCorr||{x:0,y:0},s=0===a?-h.labelMetrics().h:2===a?h.tickRotCorr.y:0,e=Math.abs(S)+w,S&&(e-=s,e+=y*(n?E(g.y,h.tickRotCorr.y+y*g.distance):E(g.x,y*g.distance))),h.axisTitleMargin=E(i,e),h.getMaxLabelDimensions&&(h.maxLabelDimensions=h.getMaxLabelDimensions(l,c)),"colorAxis"!==d&&v){let t=this.tickSize("tick");b[a]=Math.max(b[a],(h.axisTitleMargin||0)+M+y*h.offset,e,c&&c.length&&t?t[0]+y*h.offset:0);let i=!h.axisLine||o.offset?0:h.axisLine.strokeWidth()/2;v[u]=Math.max(v[u],i)}k(this,"afterGetOffset")}getLinePath(t){let i=this.chart,e=this.opposite,s=this.offset,h=this.horiz,r=this.left+(e?this.width:0)+s,n=i.chartHeight-this.bottom-(e?this.height:0)+s;return e&&(t*=-1),i.renderer.crispLine([["M",h?this.left:r,h?n:this.top],["L",h?i.chartWidth-this.right:r,h?n:i.chartHeight-this.bottom]],t)}renderLine(){this.axisLine||(this.axisLine=this.chart.renderer.path().addClass("highcharts-axis-line").add(this.axisGroup),this.chart.styledMode||this.axisLine.attr({stroke:this.options.lineColor,"stroke-width":this.options.lineWidth,zIndex:7}))}getTitlePosition(t){let i=this.horiz,e=this.left,s=this.top,h=this.len,r=this.options.title,n=i?e:s,o=this.opposite,a=this.offset,l=r.x,c=r.y,d=this.chart.renderer.fontMetrics(t),u=t?Math.max(t.getBBox(!1,0).height-d.h-1,0):0,f={low:n+(i?0:h),middle:n+h/2,high:n+(i?h:0)}[r.align],p=(i?s+this.height:e)+(i?1:-1)*(o?-1:1)*(this.axisTitleMargin||0)+[-u,u,d.f,-u][this.side],g={x:i?f+l:p+(o?this.width:0)+a+l,y:i?p+c-(o?this.height:0)+a:f+c};return k(this,"afterGetTitlePosition",{titlePosition:g}),g}renderMinorTick(t,i){let e=this.minorTicks;e[t]||(e[t]=new n(this,t,"minor")),i&&e[t].isNew&&e[t].render(null,!0),e[t].render(null,!1,1)}renderTick(t,i,e){let s=this.ticks;(!this.isLinked||t>=this.min&&t<=this.max||this.grid&&this.grid.isColumn)&&(s[t]||(s[t]=new n(this,t)),e&&s[t].isNew&&s[t].render(i,!0,-1),s[t].render(i))}render(){let t,i,e=this,s=e.chart,h=e.logarithmic,o=e.options,l=e.isLinked,c=e.tickPositions,d=e.axisTitle,u=e.ticks,f=e.minorTicks,p=e.alternateBands,g=o.stackLabels,m=o.alternateGridColor,b=o.crossing,x=e.tickmarkOffset,v=e.axisLine,y=e.showAxis,M=a(s.renderer.globalAnimation);if(e.labelEdge.length=0,e.overlap=!1,[u,f,p].forEach((function(t){P(t,(function(t){t.isActive=!1}))})),L(b)){let t=this.isXAxis?s.yAxis[0]:s.xAxis[0],i=[1,-1,-1,1][this.side];if(t){let s=t.toPixels(b,!0);e.horiz&&(s=t.len-s),e.offset=i*s}}if(e.hasData()||l){let a=e.chart.hasRendered&&e.old&&L(e.old.min);e.minorTickInterval&&!e.categories&&e.getMinorTickPositions().forEach((function(t){e.renderMinorTick(t,a)})),c.length&&(c.forEach((function(t,i){e.renderTick(t,i,a)})),x&&(0===e.min||e.single)&&(u[-1]||(u[-1]=new n(e,-1,null,!0)),u[-1].render(-1))),m&&c.forEach((function(n,o){i=void 0!==c[o+1]?c[o+1]+x:e.max-x,o%2==0&&n<e.max&&i<=e.max+(s.polar?-x:x)&&(p[n]||(p[n]=new r.PlotLineOrBand(e,{})),t=n+x,p[n].options={from:h?h.lin2log(t):t,to:h?h.lin2log(i):i,color:m,className:"highcharts-alternate-grid"},p[n].render(),p[n].isActive=!0)})),e._addedPlotLB||(e._addedPlotLB=!0,(o.plotLines||[]).concat(o.plotBands||[]).forEach((function(t){e.addPlotBandOrLine(t)})))}[u,f,p].forEach((function(t){let i=[],e=M.duration;P(t,(function(t,e){t.isActive||(t.render(e,!1,0),t.isActive=!1,i.push(e))})),I((function(){let e=i.length;for(;e--;)t[i[e]]&&!t[i[e]].isActive&&(t[i[e]].destroy(),delete t[i[e]])}),t!==p&&s.hasRendered&&e?e:0)})),v&&(v[v.isPlaced?"animate":"attr"]({d:this.getLinePath(v.strokeWidth())}),v.isPlaced=!0,v[y?"show":"hide"](y)),d&&y&&(d[d.isNew?"attr":"animate"](e.getTitlePosition(d)),d.isNew=!1),g&&g.enabled&&e.stacking&&e.stacking.renderStackTotals(),e.old={len:e.len,max:e.max,min:e.min,transA:e.transA,userMax:e.userMax,userMin:e.userMin},e.isDirty=!1,k(this,"afterRender")}redraw(){this.visible&&(this.render(),this.plotLinesAndBands.forEach((function(t){t.render()}))),this.series.forEach((function(t){t.isDirty=!0}))}getKeepProps(){return this.keepProps||R.keepProps}destroy(t){let i=this,e=i.plotLinesAndBands,s=this.eventOptions;if(k(this,"destroy",{keepEvents:t}),t||D(i),[i.ticks,i.minorTicks,i.alternateBands].forEach((function(t){v(t)})),e){let t=e.length;for(;t--;)e[t].destroy()}for(let t in["axisLine","axisTitle","axisGroup","gridGroup","labelGroup","cross","scrollbar"].forEach((function(t){i[t]&&(i[t]=i[t].destroy())})),i.plotLinesAndBandsGroups)i.plotLinesAndBandsGroups[t]=i.plotLinesAndBandsGroups[t].destroy();P(i,(function(t,e){-1===i.getKeepProps().indexOf(e)&&delete i[e]})),this.eventOptions=s}drawCrosshair(t,i){let s,h,r,n,o=this.crosshair,a=E(o&&o.snap,!0),l=this.chart,c=this.cross;if(k(this,"drawCrosshair",{e:t,point:i}),t||(t=this.cross&&this.cross.e),o&&!1!==(x(i)||!a)){if(a?x(i)&&(h=E("colorAxis"!==this.coll?i.crosshairPos:null,this.isXAxis?i.plotX:this.len-i.plotY)):h=t&&(this.horiz?t.chartX-this.pos:this.len-t.chartY+this.pos),x(h)&&(n={value:i&&(this.isXAxis?i.x:E(i.stackY,i.y)),translatedValue:h},l.polar&&w(n,{isCrosshair:!0,chartX:t&&t.chartX,chartY:t&&t.chartY,point:i}),s=this.getPlotLinePath(n)||null),!x(s))return void this.hideCrosshair();r=this.categories&&!this.isRadial,c||(this.cross=c=l.renderer.path().addClass("highcharts-crosshair highcharts-crosshair-"+(r?"category ":"thin ")+(o.className||"")).attr({zIndex:E(o.zIndex,2)}).add(),!l.styledMode&&(c.attr({stroke:o.color||(r?e.parse("#ccd3ff").setOpacity(.25).get():"#cccccc"),"stroke-width":E(o.width,1)}).css({"pointer-events":"none"}),o.dashStyle&&c.attr({dashstyle:o.dashStyle}))),c.show().attr({d:s}),r&&!o.width&&c.attr({"stroke-width":this.transA}),this.cross.e=t}else this.hideCrosshair();k(this,"afterDrawCrosshair",{e:t,point:i})}hideCrosshair(){this.cross&&this.cross.hide(),k(this,"afterHideCrosshair")}update(t,i){let e=this.chart;t=j(this.userOptions,t),this.destroy(!0),this.init(e,t),e.isDirtyBox=!0,E(i,!0)&&e.redraw()}remove(t){let i=this.chart,e=this.coll,s=this.series,h=s.length;for(;h--;)s[h]&&s[h].remove(!1);y(i.axes,this),y(i[e]||[],this),i.orderItems(e),this.destroy(),i.isDirtyBox=!0,E(t,!0)&&i.redraw()}setTitle(t,i){this.update({title:t},i)}setCategories(t,i){this.update({categories:t},i)}}return R.keepProps=["coll","extKey","hcEvents","len","names","series","userMax","userMin"],R})),e(i,"Core/Axis/DateTimeAxis.js",[i["Core/Utilities.js"]],(function(t){var i;let{addEvent:e,getMagnitude:s,normalizeTickInterval:h,timeUnits:r}=t;return function(t){function i(){return this.chart.time.getTimeTicks.apply(this.chart.time,arguments)}function n(){"datetime"===this.type?this.dateTime||(this.dateTime=new o(this)):this.dateTime=void 0}t.compose=function(t){return t.keepProps.includes("dateTime")||(t.keepProps.push("dateTime"),t.prototype.getTimeTicks=i,e(t,"afterSetType",n)),t};class o{constructor(t){this.axis=t}normalizeTimeTickInterval(t,i){let e,n=i||[["millisecond",[1,2,5,10,20,25,50,100,200,500]],["second",[1,2,5,10,15,30]],["minute",[1,2,5,10,15,30]],["hour",[1,2,3,4,6,8,12]],["day",[1,2]],["week",[1,2]],["month",[1,2,3,4,6]],["year",null]],o=n[n.length-1],a=r[o[0]],l=o[1];for(e=0;e<n.length&&(a=r[(o=n[e])[0]],l=o[1],!(n[e+1]&&t<=(a*l[l.length-1]+r[n[e+1][0]])/2));e++);return a===r.year&&t<5*a&&(l=[1,2,5]),{unitRange:a,count:h(t/a,l,"year"===o[0]?Math.max(s(t/a),1):1),unitName:o[0]}}getXDateFormat(t,i){let{axis:e}=this,s=e.chart.time;return e.closestPointRange?s.getDateFormat(e.closestPointRange,t,e.options.startOfWeek,i)||s.resolveDTLFormat(i.year).main:s.resolveDTLFormat(i.day).main}}t.Additions=o}(i||(i={})),i})),e(i,"Core/Axis/LogarithmicAxis.js",[i["Core/Utilities.js"]],(function(t){var i;let{addEvent:e,normalizeTickInterval:s,pick:h}=t;return function(t){function i(){"logarithmic"!==this.type?this.logarithmic=void 0:this.logarithmic??(this.logarithmic=new n(this))}function r(){let t=this.logarithmic;t&&(this.lin2val=function(i){return t.lin2log(i)},this.val2lin=function(i){return t.log2lin(i)})}t.compose=function(t){return t.keepProps.includes("logarithmic")||(t.keepProps.push("logarithmic"),e(t,"afterSetType",i),e(t,"afterInit",r)),t};class n{constructor(t){this.axis=t}getLogTickPositions(t,i,e,r){let n=this.axis,o=n.len,a=n.options,l=[];if(r||(this.minorAutoInterval=void 0),t>=.5)t=Math.round(t),l=n.getLinearTickPositions(t,i,e);else if(t>=.08){let s,h,n,o,a,c,d;for(s=t>.3?[1,2,4]:t>.15?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9],h=Math.floor(i);h<e+1&&!d;h++)for(n=0,o=s.length;n<o&&!d;n++)(a=this.log2lin(this.lin2log(h)*s[n]))>i&&(!r||c<=e)&&void 0!==c&&l.push(c),c>e&&(d=!0),c=a}else{let c=this.lin2log(i),d=this.lin2log(e),u=r?n.getMinorTickInterval():a.tickInterval;t=s(t=h("auto"===u?null:u,this.minorAutoInterval,a.tickPixelInterval/(r?5:1)*(d-c)/((r?o/n.tickPositions.length:o)||1))),l=n.getLinearTickPositions(t,c,d).map(this.log2lin),r||(this.minorAutoInterval=t/5)}return r||(n.tickInterval=t),l}lin2log(t){return Math.pow(10,t)}log2lin(t){return Math.log(t)/Math.LN10}}t.Additions=n}(i||(i={})),i})),e(i,"Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js",[i["Core/Utilities.js"]],(function(t){var i;let{erase:e,extend:s,isNumber:h}=t;return function(t){let i;function r(t){return this.addPlotBandOrLine(t,"plotBands")}function n(t,e){let s=this.userOptions,h=new i(this,t);if(this.visible&&(h=h.render()),h){if(this._addedPlotLB||(this._addedPlotLB=!0,(s.plotLines||[]).concat(s.plotBands||[]).forEach((t=>{this.addPlotBandOrLine(t)}))),e){let i=s[e]||[];i.push(t),s[e]=i}this.plotLinesAndBands.push(h)}return h}function o(t){return this.addPlotBandOrLine(t,"plotLines")}function a(t,i,e){let s,r,n=this.getPlotLinePath({value:i,force:!0,acrossPanes:(e=e||this.options).acrossPanes}),o=[],a=this.horiz,l=!h(this.min)||!h(this.max)||t<this.min&&i<this.min||t>this.max&&i>this.max,c=this.getPlotLinePath({value:t,force:!0,acrossPanes:e.acrossPanes}),d=1;if(c&&n)for(l&&(r=c.toString()===n.toString(),d=0),s=0;s<c.length;s+=2){let t=c[s],i=c[s+1],e=n[s],h=n[s+1];("M"===t[0]||"L"===t[0])&&("M"===i[0]||"L"===i[0])&&("M"===e[0]||"L"===e[0])&&("M"===h[0]||"L"===h[0])&&(a&&e[1]===t[1]?(e[1]+=d,h[1]+=d):a||e[2]!==t[2]||(e[2]+=d,h[2]+=d),o.push(["M",t[1],t[2]],["L",i[1],i[2]],["L",h[1],h[2]],["L",e[1],e[2]],["Z"])),o.isFlat=r}return o}function l(t){this.removePlotBandOrLine(t)}function c(t){let i=this.plotLinesAndBands,s=this.options,h=this.userOptions;if(i){let r=i.length;for(;r--;)i[r].id===t&&i[r].destroy();[s.plotLines||[],h.plotLines||[],s.plotBands||[],h.plotBands||[]].forEach((function(i){for(r=i.length;r--;)(i[r]||{}).id===t&&e(i,i[r])}))}}function d(t){this.removePlotBandOrLine(t)}t.compose=function(t,e){let h=e.prototype;return h.addPlotBand||(i=t,s(h,{addPlotBand:r,addPlotLine:o,addPlotBandOrLine:n,getPlotBandPath:a,removePlotBand:l,removePlotLine:d,removePlotBandOrLine:c})),e}}(i||(i={})),i})),e(i,"Core/Axis/PlotLineOrBand/PlotLineOrBand.js",[i["Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js"],i["Core/Utilities.js"]],(function(t,i){let{addEvent:e,arrayMax:s,arrayMin:h,defined:r,destroyObjectProperties:n,erase:o,fireEvent:a,merge:l,objectEach:c,pick:d}=i;class u{static compose(i,s){return e(i,"afterInit",(function(){this.labelCollectors.push((()=>{let t=[];for(let i of this.axes)for(let{label:e,options:s}of i.plotLinesAndBands)e&&!s?.label?.allowOverlap&&t.push(e);return t}))})),t.compose(u,s)}constructor(t,i){this.axis=t,this.options=i,this.id=i.id}render(){a(this,"render");let t,{axis:i,options:e}=this,{horiz:s,logarithmic:h}=i,{color:n,events:o,zIndex:u=0}=e,f={},p=i.chart.renderer,g=e.to,m=e.from,b=e.value,x=e.borderWidth,v=e.label,{label:y,svgElem:M}=this,w=[],k=r(m)&&r(g),S=r(b),O=!M,A={class:"highcharts-plot-"+(k?"band ":"line ")+(e.className||"")},L=k?"bands":"lines";if(!i.chart.styledMode&&(S?(A.stroke=n||"#999999",A["stroke-width"]=d(e.width,1),e.dashStyle&&(A.dashstyle=e.dashStyle)):k&&(A.fill=n||"#e6e9ff",x&&(A.stroke=e.borderColor,A["stroke-width"]=x))),f.zIndex=u,L+="-"+u,(t=i.plotLinesAndBandsGroups[L])||(i.plotLinesAndBandsGroups[L]=t=p.g("plot-"+L).attr(f).add()),M||(this.svgElem=M=p.path().attr(A).add(t)),r(b))w=i.getPlotLinePath({value:h?.log2lin(b)??b,lineWidth:M.strokeWidth(),acrossPanes:e.acrossPanes});else{if(!r(m)||!r(g))return;w=i.getPlotBandPath(h?.log2lin(m)??m,h?.log2lin(g)??g,e)}return!this.eventsAdded&&o&&(c(o,((t,i)=>{M?.on(i,(t=>{o[i].apply(this,[t])}))})),this.eventsAdded=!0),!O&&M.d||!w?.length?M&&(w?(M.show(),M.animate({d:w})):M.d&&(M.hide(),y&&(this.label=y=y.destroy()))):M.attr({d:w}),v&&(r(v.text)||r(v.formatter))&&w?.length&&i.width>0&&i.height>0&&!w.isFlat?(v=l({align:s&&k?"center":void 0,x:s?!k&&4:10,verticalAlign:!s&&k?"middle":void 0,y:s?k?16:10:k?6:-4,rotation:s&&!k?90:0,...k?{inside:!0}:{}},v),this.renderLabel(v,w,k,u)):y&&y.hide(),this}renderLabel(t,i,e,n){let o=this.axis,a=t.inside,c=this.label;c||(this.label=c=o.chart.renderer.text(this.getLabelText(t),0,0,t.useHTML).attr({align:t.textAlign||t.align,rotation:t.rotation,class:"highcharts-plot-"+(e?"band":"line")+"-label "+(t.className||""),zIndex:n}),o.chart.styledMode||c.css(l({fontSize:"0.8em",textOverflow:e&&!a?"":"ellipsis"},t.style)),c.add());let d=i.xBounds||[i[0][1],i[1][1],e?i[2][1]:i[0][1]],u=i.yBounds||[i[0][2],i[1][2],e?i[2][2]:i[0][2]],f=h(d),p=h(u),g=s(d)-f;c.align(t,!1,{x:f,y:p,width:g,height:s(u)-p}),(!c.alignValue||"left"===c.alignValue||r(a))&&c.css({width:(t.style?.width||(e&&a?g:90===c.rotation?o.height-(c.alignAttr.y-o.top):(t.clip?o.width:o.chart.chartWidth)-(c.alignAttr.x-o.left)))+"px"}),c.show(!0)}getLabelText(t){return r(t.formatter)?t.formatter.call(this):t.text}destroy(){o(this.axis.plotLinesAndBands,this),delete this.axis,n(this)}}return u})),e(i,"Core/Tooltip.js",[i["Core/Animation/AnimationUtilities.js"],i["Core/Templating.js"],i["Core/Globals.js"],i["Core/Renderer/RendererUtilities.js"],i["Core/Renderer/RendererRegistry.js"],i["Core/Utilities.js"]],(function(t,i,e,s,h,r){var n;let{animObject:o}=t,{format:a}=i,{composed:l,doc:c,isSafari:d}=e,{distribute:u}=s,{addEvent:f,clamp:p,css:g,discardElement:m,extend:b,fireEvent:x,isArray:v,isNumber:y,isString:M,merge:w,pick:k,pushUnique:S,splat:O,syncTimeout:A}=r;class L{constructor(t,i,e){this.allowShared=!0,this.crosshairs=[],this.distance=0,this.isHidden=!0,this.isSticky=!1,this.options={},this.outside=!1,this.chart=t,this.init(t,i),this.pointer=e}bodyFormatter(t){return t.map((function(t){let i=t.series.tooltipOptions;return(i[(t.point.formatPrefix||"point")+"Formatter"]||t.point.tooltipFormatter).call(t.point,i[(t.point.formatPrefix||"point")+"Format"]||"")}))}cleanSplit(t){this.chart.series.forEach((function(i){let e=i&&i.tt;e&&(!e.isActive||t?i.tt=e.destroy():e.isActive=!1)}))}defaultFormatter(t){let i,e=this.points||O(this);return(i=(i=[t.tooltipFooterHeaderFormatter(e[0])]).concat(t.bodyFormatter(e))).push(t.tooltipFooterHeaderFormatter(e[0],!0)),i}destroy(){this.label&&(this.label=this.label.destroy()),this.split&&(this.cleanSplit(!0),this.tt&&(this.tt=this.tt.destroy())),this.renderer&&(this.renderer=this.renderer.destroy(),m(this.container)),r.clearTimeout(this.hideTimer)}getAnchor(t,i){let e,{chart:s,pointer:h}=this,r=s.inverted,n=s.plotTop,o=s.plotLeft;if((t=O(t))[0].series&&t[0].series.yAxis&&!t[0].series.yAxis.options.reversedStacks&&(t=t.slice().reverse()),this.followPointer&&i)void 0===i.chartX&&(i=h.normalize(i)),e=[i.chartX-o,i.chartY-n];else if(t[0].tooltipPos)e=t[0].tooltipPos;else{let s=0,h=0;t.forEach((function(t){let i=t.pos(!0);i&&(s+=i[0],h+=i[1])})),s/=t.length,h/=t.length,this.shared&&t.length>1&&i&&(r?s=i.chartX:h=i.chartY),e=[s-o,h-n]}return e.map(Math.round)}getClassName(t,i,e){let s=t.series,h=s.options;return[this.options.className,"highcharts-label",e&&"highcharts-tooltip-header",i?"highcharts-tooltip-box":"highcharts-tooltip",!e&&"highcharts-color-"+k(t.colorIndex,s.colorIndex),h&&h.className].filter(M).join(" ")}getLabel({anchorX:t,anchorY:i}={anchorX:0,anchorY:0}){let s=this,r=this.chart.styledMode,n=this.options,o=this.split&&this.allowShared,a=this.container,l=this.chart.renderer;if(this.label){let t=!this.label.hasClass("highcharts-label");(!o&&t||o&&!t)&&this.destroy()}if(!this.label){if(this.outside){let t=this.chart.options.chart.style,i=h.getRendererType();this.container=a=e.doc.createElement("div"),a.className="highcharts-tooltip-container",g(a,{position:"absolute",top:"1px",pointerEvents:"none",zIndex:Math.max(this.options.style.zIndex||0,(t&&t.zIndex||0)+3)}),this.renderer=l=new i(a,0,0,t,void 0,void 0,l.styledMode)}if(o?this.label=l.g("tooltip"):(this.label=l.label("",t,i,n.shape,void 0,void 0,n.useHTML,void 0,"tooltip").attr({padding:n.padding,r:n.borderRadius}),r||this.label.attr({fill:n.backgroundColor,"stroke-width":n.borderWidth||0}).css(n.style).css({pointerEvents:n.style.pointerEvents||(this.shouldStickOnContact()?"auto":"none")})),s.outside){let t=this.label;[t.xSetter,t.ySetter].forEach(((i,e)=>{t[e?"ySetter":"xSetter"]=h=>{i.call(t,s.distance),t[e?"y":"x"]=h,a&&(a.style[e?"top":"left"]=`${h}px`)}}))}this.label.attr({zIndex:8}).shadow(n.shadow).add()}return a&&!a.parentElement&&e.doc.body.appendChild(a),this.label}getPlayingField(){let{body:t,documentElement:i}=c,{chart:e,distance:s,outside:h}=this;return{width:h?Math.max(t.scrollWidth,i.scrollWidth,t.offsetWidth,i.offsetWidth,i.clientWidth)-2*s:e.chartWidth,height:h?Math.max(t.scrollHeight,i.scrollHeight,t.offsetHeight,i.offsetHeight,i.clientHeight):e.chartHeight}}getPosition(t,i,e){let s,{distance:h,chart:r,outside:n,pointer:o}=this,{inverted:a,plotLeft:l,plotTop:c,polar:d}=r,{plotX:u=0,plotY:f=0}=e,p={},g=a&&e.h||0,{height:m,width:b}=this.getPlayingField(),x=o.getChartPosition(),v=t=>t*x.scaleX,y=t=>t*x.scaleY,M=e=>{let s="x"===e;return[e,s?b:m,s?t:i].concat(n?[s?v(t):y(i),s?x.left-h+v(u+l):x.top-h+y(f+c),0,s?b:m]:[s?t:i,s?u+l:f+c,s?l:c,s?l+r.plotWidth:c+r.plotHeight])},w=M("y"),S=M("x"),O=!!e.negative;!d&&r.hoverSeries?.yAxis?.reversed&&(O=!O);let A=!this.followPointer&&k(e.ttBelow,!d&&!a===O),L=function(t,i,e,s,r,o,a){let l=n?"y"===t?y(h):v(h):h,c=(e-s)/2,d=s<r-h,u=r+h+s<i,f=r-l-e+c,m=r+l-c;if(A&&u)p[t]=m;else if(!A&&d)p[t]=f;else if(d)p[t]=Math.min(a-s,f-g<0?f:f-g);else{if(!u)return!1;p[t]=Math.max(o,m+g+e>i?m:m+g)}},C=function(t,i,e,s,r){if(r<h||r>i-h)return!1;p[t]=r<e/2?1:r>i-s/2?i-s-2:r-e/2},j=function(t){[w,S]=[S,w],s=t},T=()=>{!1!==L.apply(0,w)?!1!==C.apply(0,S)||s||(j(!0),T()):s?p.x=p.y=0:(j(!0),T())};return(a&&!d||this.len>1)&&j(),T(),p}hide(t){let i=this;r.clearTimeout(this.hideTimer),t=k(t,this.options.hideDelay),this.isHidden||(this.hideTimer=A((function(){let e=i.getLabel();i.getLabel().animate({opacity:0},{duration:t?150:t,complete:()=>{e.hide(),i.container&&i.container.remove()}}),i.isHidden=!0}),t))}init(t,i){this.chart=t,this.options=i,this.crosshairs=[],this.isHidden=!0,this.split=i.split&&!t.inverted&&!t.polar,this.shared=i.shared||this.split,this.outside=k(i.outside,!(!t.scrollablePixelsX&&!t.scrollablePixelsY))}shouldStickOnContact(t){return!(this.followPointer||!this.options.stickOnContact||t&&!this.pointer.inClass(t.target,"highcharts-tooltip"))}move(t,i,e,s){let h=this,r=o(!h.isHidden&&h.options.animation),n={x:t,y:i};h.followPointer||(h.len||0)>1||(n.anchorX=e,n.anchorY=s),r.step=()=>h.drawTracker(),h.getLabel().animate(n,r)}refresh(t,i){let{chart:e,options:s,pointer:h,shared:n}=this,o=O(t),l=o[0],c=[],d=s.format,u=s.formatter||this.defaultFormatter,f=e.styledMode,g={},m=this.allowShared;if(!s.enabled||!l.series)return;r.clearTimeout(this.hideTimer),this.allowShared=!(!v(t)&&t.series&&t.series.noSharedTooltip),m=m&&!this.allowShared,this.followPointer=!this.split&&l.series.tooltipOptions.followPointer;let b=this.getAnchor(t,i),y=b[0],w=b[1];n&&this.allowShared?(h.applyInactiveState(o),o.forEach((function(t){t.setState("hover"),c.push(t.getLabelConfig())})),(g=l.getLabelConfig()).points=c):g=l.getLabelConfig(),this.len=c.length;let S=M(d)?a(d,g,e):u.call(g,this),A=l.series;if(this.distance=k(A.tooltipOptions.distance,16),!1===S)this.hide();else{if(this.split&&this.allowShared)this.renderSplit(S,o);else{let t=y,r=w;if(i&&h.isDirectTouch&&(t=i.chartX-e.plotLeft,r=i.chartY-e.plotTop),!e.polar&&!1!==A.options.clip&&!o.some((i=>h.isDirectTouch||i.series.shouldShowTooltip(t,r))))return void this.hide();{let t=this.getLabel(m&&this.tt||{});(!s.style.width||f)&&t.css({width:(this.outside?this.getPlayingField():e.spacingBox).width+"px"}),t.attr({class:this.getClassName(l),text:S&&S.join?S.join(""):S}),this.outside&&t.attr({x:p(t.x||0,0,this.getPlayingField().width-(t.width||0))}),f||t.attr({stroke:s.borderColor||l.color||A.color||"#666666"}),this.updatePosition({plotX:y,plotY:w,negative:l.negative,ttBelow:l.ttBelow,h:b[2]||0})}}this.isHidden&&this.label&&this.label.attr({opacity:1}).show(),this.isHidden=!1}x(this,"refresh")}renderSplit(t,i){let e=this,{chart:s,chart:{chartWidth:h,chartHeight:r,plotHeight:n,plotLeft:o,plotTop:a,scrollablePixelsY:l=0,scrollablePixelsX:f,styledMode:g},distance:m,options:x,options:{positioner:v},pointer:y}=e,{scrollLeft:w=0,scrollTop:S=0}=s.scrollablePlotArea?.scrollingContainer||{},O=e.outside&&"number"!=typeof f?c.documentElement.getBoundingClientRect():{left:w,right:w+h,top:S,bottom:S+r},A=e.getLabel(),L=this.renderer||s.renderer,C=!(!s.xAxis[0]||!s.xAxis[0].opposite),{left:j,top:T}=y.getChartPosition(),P=a+S,E=0,z=n-l;function D(t,i,s,h,r=!0){let n,o;return s?(n=C?0:z,o=p(t-h/2,O.left,O.right-h-(e.outside?j:0))):(n=i-P,o=p(o=r?t-h-m:t+m,r?o:O.left,O.right)),{x:o,y:n}}M(t)&&(t=[!1,t]);let N=t.slice(0,i.length+1).reduce((function(t,s,h){if(!1!==s&&""!==s){let r=i[h-1]||{isHeader:!0,plotX:i[0].plotX,plotY:n,series:{}},l=r.isHeader,c=l?e:r.series,d=c.tt=function(t,i,s){let h=t,{isHeader:r,series:n}=i;if(!h){let t={padding:x.padding,r:x.borderRadius};g||(t.fill=x.backgroundColor,t["stroke-width"]=x.borderWidth??1),h=L.label("",0,0,x[r?"headerShape":"shape"],void 0,void 0,x.useHTML).addClass(e.getClassName(i,!0,r)).attr(t).add(A)}return h.isActive=!0,h.attr({text:s}),g||h.css(x.style).attr({stroke:x.borderColor||i.color||n.color||"#333333"}),h}(c.tt,r,s.toString()),u=d.getBBox(),f=u.width+d.strokeWidth();l&&(E=u.height,z+=E,C&&(P-=E));let{anchorX:b,anchorY:y}=function(t){let i,e,{isHeader:s,plotX:h=0,plotY:r=0,series:l}=t;if(s)i=Math.max(o+h,o),e=a+n/2;else{let{xAxis:t,yAxis:s}=l;i=t.pos+p(h,-m,t.len+m),l.shouldShowTooltip(0,s.pos-a+r,{ignoreX:!0})&&(e=s.pos+r)}return{anchorX:i=p(i,O.left-m,O.right+m),anchorY:e}}(r);if("number"==typeof y){let i=u.height+1,s=v?v.call(e,f,i,r):D(b,y,l,f);t.push({align:v?0:void 0,anchorX:b,anchorY:y,boxWidth:f,point:r,rank:k(s.rank,l?1:0),size:i,target:s.y,tt:d,x:s.x})}else d.isActive=!1}return t}),[]);!v&&N.some((t=>{let{outside:i}=e,s=(i?j:0)+t.anchorX;return s<O.left&&s+t.boxWidth<O.right||s<j-O.left+t.boxWidth&&O.right-s>s}))&&(N=N.map((t=>{let{x:i,y:e}=D(t.anchorX,t.anchorY,t.point.isHeader,t.boxWidth,!1);return b(t,{target:e,x:i})}))),e.cleanSplit(),u(N,z);let I={left:j,right:j};N.forEach((function(t){let{x:i,boxWidth:s,isHeader:h}=t;!h&&(e.outside&&j+i<I.left&&(I.left=j+i),!h&&e.outside&&I.left+s>I.right&&(I.right=j+i))})),N.forEach((function(t){let{x:i,anchorX:s,anchorY:h,pos:r,point:{isHeader:n}}=t,o={visibility:void 0===r?"hidden":"inherit",x:i,y:(r||0)+P,anchorX:s,anchorY:h};if(e.outside&&i<s){let t=j-I.left;t>0&&(n||(o.x=i+t,o.anchorX=s+t),n&&(o.x=(I.right-I.left)/2,o.anchorX=s+t))}t.tt.attr(o)}));let{container:F,outside:R,renderer:B}=e;if(R&&F&&B){let{width:t,height:i,x:e,y:s}=A.getBBox();B.setSize(t+e,i+s,!1),F.style.left=I.left+"px",F.style.top=T+"px"}d&&A.attr({opacity:1===A.opacity?.999:1})}drawTracker(){if(!this.shouldStickOnContact())return void(this.tracker&&(this.tracker=this.tracker.destroy()));let t=this.chart,i=this.label,e=this.shared?t.hoverPoints:t.hoverPoint;if(!i||!e)return;let s={x:0,y:0,width:0,height:0},h=this.getAnchor(e),r=i.getBBox();h[0]+=t.plotLeft-(i.translateX||0),h[1]+=t.plotTop-(i.translateY||0),s.x=Math.min(0,h[0]),s.y=Math.min(0,h[1]),s.width=h[0]<0?Math.max(Math.abs(h[0]),r.width-h[0]):Math.max(Math.abs(h[0]),r.width),s.height=h[1]<0?Math.max(Math.abs(h[1]),r.height-Math.abs(h[1])):Math.max(Math.abs(h[1]),r.height),this.tracker?this.tracker.attr(s):(this.tracker=i.renderer.rect(s).addClass("highcharts-tracker").add(i),t.styledMode||this.tracker.attr({fill:"rgba(0,0,0,0)"}))}styledModeFormat(t){return t.replace('style="font-size: 0.8em"','class="highcharts-header"').replace(/style="color:{(point|series)\.color}"/g,'class="highcharts-color-{$1.colorIndex} {series.options.className} {point.options.className}"')}tooltipFooterHeaderFormatter(t,i){let e=t.series,s=e.tooltipOptions,h=e.xAxis,r=h&&h.dateTime,n={isFooter:i,labelConfig:t},o=s.xDateFormat,l=s[i?"footerFormat":"headerFormat"];return x(this,"headerFormatter",n,(function(i){r&&!o&&y(t.key)&&(o=r.getXDateFormat(t.key,s.dateTimeLabelFormats)),r&&o&&(t.point&&t.point.tooltipDateKeys||["key"]).forEach((function(t){l=l.replace("{point."+t+"}","{point."+t+":"+o+"}")})),e.chart.styledMode&&(l=this.styledModeFormat(l)),i.text=a(l,{point:t,series:e},this.chart)})),n.text}update(t){this.destroy(),this.init(this.chart,w(!0,this.options,t))}updatePosition(t){let i,{chart:e,container:s,distance:h,options:r,pointer:n,renderer:o}=this,{height:a=0,width:l=0}=this.getLabel(),{left:c,top:d,scaleX:u,scaleY:f}=n.getChartPosition(),p=(r.positioner||this.getPosition).call(this,l,a,t),m=(t.plotX||0)+e.plotLeft,b=(t.plotY||0)+e.plotTop;o&&s&&(r.positioner&&(p.x+=c-h,p.y+=d-h),i=(r.borderWidth||0)+2*h+2,o.setSize(l+i,a+i,!1),(1!==u||1!==f)&&(g(s,{transform:`scale(${u}, ${f})`}),m*=u,b*=f),m+=c-p.x,b+=d-p.y),this.move(Math.round(p.x),Math.round(p.y||0),m,b)}}return(n=L||(L={})).compose=function(t){S(l,"Core.Tooltip")&&f(t,"afterInit",(function(){let t=this.chart;t.options.tooltip&&(t.tooltip=new n(t,t.options.tooltip,this))}))},L})),e(i,"Core/Series/Point.js",[i["Core/Renderer/HTML/AST.js"],i["Core/Animation/AnimationUtilities.js"],i["Core/Defaults.js"],i["Core/Templating.js"],i["Core/Utilities.js"]],(function(t,i,e,s,h){let{animObject:r}=i,{defaultOptions:n}=e,{format:o}=s,{addEvent:a,crisp:l,erase:c,extend:d,fireEvent:u,getNestedProperty:f,isArray:p,isFunction:g,isNumber:m,isObject:b,merge:x,pick:v,syncTimeout:y,removeEvent:M,uniqueKey:w}=h;class k{animateBeforeDestroy(){let t=this,i={x:t.startXPos,opacity:0},e=t.getGraphicalProps();e.singular.forEach((function(e){t[e]=t[e].animate("dataLabel"===e?{x:t[e].startXPos,y:t[e].startYPos,opacity:0}:i)})),e.plural.forEach((function(i){t[i].forEach((function(i){i.element&&i.animate(d({x:t.startXPos},i.startYPos?{x:i.startXPos,y:i.startYPos}:{}))}))}))}applyOptions(t,i){let e=this.series,s=e.options.pointValKey||e.pointValKey;return d(this,t=k.prototype.optionsToObject.call(this,t)),this.options=this.options?d(this.options,t):t,t.group&&delete this.group,t.dataLabels&&delete this.dataLabels,s&&(this.y=k.prototype.getNestedProperty.call(this,s)),this.selected&&(this.state="select"),"name"in this&&void 0===i&&e.xAxis&&e.xAxis.hasNames&&(this.x=e.xAxis.nameToX(this)),void 0===this.x&&e?this.x=i??e.autoIncrement():m(t.x)&&e.options.relativeXValue&&(this.x=e.autoIncrement(t.x)),this.isNull=this.isValid&&!this.isValid(),this.formatPrefix=this.isNull?"null":"point",this}destroy(){if(!this.destroyed){let t=this,i=t.series,e=i.chart,s=i.options.dataSorting,h=e.hoverPoints,n=r(t.series.chart.renderer.globalAnimation),o=()=>{for(let i in(t.graphic||t.graphics||t.dataLabel||t.dataLabels)&&(M(t),t.destroyElements()),t)delete t[i]};t.legendItem&&e.legend.destroyItem(t),h&&(t.setState(),c(h,t),h.length||(e.hoverPoints=null)),t===e.hoverPoint&&t.onMouseOut(),s&&s.enabled?(this.animateBeforeDestroy(),y(o,n.duration)):o(),e.pointCount--}this.destroyed=!0}destroyElements(t){let i=this,e=i.getGraphicalProps(t);e.singular.forEach((function(t){i[t]=i[t].destroy()})),e.plural.forEach((function(t){i[t].forEach((function(t){t&&t.element&&t.destroy()})),delete i[t]}))}firePointEvent(t,i,e){let s=this,h=this.series.options;s.manageEvent(t),"click"===t&&h.allowPointSelect&&(e=function(t){!s.destroyed&&s.select&&s.select(null,t.ctrlKey||t.metaKey||t.shiftKey)}),u(s,t,i,e)}getClassName(){return"highcharts-point"+(this.selected?" highcharts-point-select":"")+(this.negative?" highcharts-negative":"")+(this.isNull?" highcharts-null-point":"")+(void 0!==this.colorIndex?" highcharts-color-"+this.colorIndex:"")+(this.options.className?" "+this.options.className:"")+(this.zone&&this.zone.className?" "+this.zone.className.replace("highcharts-negative",""):"")}getGraphicalProps(t){let i,e,s=this,h=[],r={singular:[],plural:[]};for((t=t||{graphic:1,dataLabel:1}).graphic&&h.push("graphic","connector"),t.dataLabel&&h.push("dataLabel","dataLabelPath","dataLabelUpper"),e=h.length;e--;)s[i=h[e]]&&r.singular.push(i);return["graphic","dataLabel"].forEach((function(i){let e=i+"s";t[i]&&s[e]&&r.plural.push(e)})),r}getLabelConfig(){return{x:this.category,y:this.y,color:this.color,colorIndex:this.colorIndex,key:this.name||this.category,series:this.series,point:this,percentage:this.percentage,total:this.total||this.stackTotal}}getNestedProperty(t){return t?0===t.indexOf("custom.")?f(t,this.options):this[t]:void 0}getZone(){let t,i=this.series,e=i.zones,s=i.zoneAxis||"y",h=0;for(t=e[0];this[s]>=t.value;)t=e[++h];return this.nonZonedColor||(this.nonZonedColor=this.color),this.color=t&&t.color&&!this.options.color?t.color:this.nonZonedColor,t}hasNewShapeType(){return(this.graphic&&(this.graphic.symbolName||this.graphic.element.nodeName))!==this.shapeType}constructor(t,i,e){this.formatPrefix="point",this.visible=!0,this.series=t,this.applyOptions(i,e),this.id??(this.id=w()),this.resolveColor(),t.chart.pointCount++,u(this,"afterInit")}isValid(){return(m(this.x)||this.x instanceof Date)&&m(this.y)}optionsToObject(t){let i,e=this.series,s=e.options.keys,h=s||e.pointArrayMap||["y"],r=h.length,n={},o=0,a=0;if(m(t)||null===t)n[h[0]]=t;else if(p(t))for(!s&&t.length>r&&("string"==(i=typeof t[0])?n.name=t[0]:"number"===i&&(n.x=t[0]),o++);a<r;)s&&void 0===t[o]||(h[a].indexOf(".")>0?k.prototype.setNestedProperty(n,t[o],h[a]):n[h[a]]=t[o]),o++,a++;else"object"==typeof t&&(n=t,t.dataLabels&&(e.hasDataLabels=()=>!0),t.marker&&(e._hasPointMarkers=!0));return n}pos(t,i=this.plotY){if(!this.destroyed){let{plotX:e,series:s}=this,{chart:h,xAxis:r,yAxis:n}=s,o=0,a=0;if(m(e)&&m(i))return t&&(o=r?r.pos:h.plotLeft,a=n?n.pos:h.plotTop),h.inverted&&r&&n?[n.len-i+a,r.len-e+o]:[e+o,i+a]}}resolveColor(){let t,i,e,s=this.series,h=s.chart.styledMode,r=s.chart.options.chart.colorCount;delete this.nonZonedColor,s.options.colorByPoint?(h||(t=(i=s.options.colors||s.chart.options.colors)[s.colorCounter],r=i.length),e=s.colorCounter,s.colorCounter++,s.colorCounter===r&&(s.colorCounter=0)):(h||(t=s.color),e=s.colorIndex),this.colorIndex=v(this.options.colorIndex,e),this.color=v(this.options.color,t)}setNestedProperty(t,i,e){return e.split(".").reduce((function(t,e,s,h){return t[e]=h.length-1===s?i:b(t[e],!0)?t[e]:{},t[e]}),t),t}shouldDraw(){return!this.isNull}tooltipFormatter(t){let i=this.series,e=i.tooltipOptions,s=v(e.valueDecimals,""),h=e.valuePrefix||"",r=e.valueSuffix||"";return i.chart.styledMode&&(t=i.chart.tooltip.styledModeFormat(t)),(i.pointArrayMap||["y"]).forEach((function(i){i="{point."+i,(h||r)&&(t=t.replace(RegExp(i+"}","g"),h+i+"}"+r)),t=t.replace(RegExp(i+"}","g"),i+":,."+s+"f}")})),o(t,{point:this,series:this.series},i.chart)}update(t,i,e,s){let h,r=this,n=r.series,o=r.graphic,a=n.chart,l=n.options;function c(){r.applyOptions(t);let s=o&&r.hasMockGraphic;o&&(null===r.y?!s:s)&&(r.graphic=o.destroy(),delete r.hasMockGraphic),b(t,!0)&&(o&&o.element&&t&&t.marker&&void 0!==t.marker.symbol&&(r.graphic=o.destroy()),t?.dataLabels&&r.dataLabel&&(r.dataLabel=r.dataLabel.destroy())),h=r.index,n.updateParallelArrays(r,h),l.data[h]=b(l.data[h],!0)||b(t,!0)?r.options:v(t,l.data[h]),n.isDirty=n.isDirtyData=!0,!n.fixedBox&&n.hasCartesianSeries&&(a.isDirtyBox=!0),"point"===l.legendType&&(a.isDirtyLegend=!0),i&&a.redraw(e)}i=v(i,!0),!1===s?c():r.firePointEvent("update",{options:t},c)}remove(t,i){this.series.removePoint(this.series.data.indexOf(this),t,i)}select(t,i){let e=this,s=e.series,h=s.chart;t=v(t,!e.selected),this.selectedStaging=t,e.firePointEvent(t?"select":"unselect",{accumulate:i},(function(){e.selected=e.options.selected=t,s.options.data[s.data.indexOf(e)]=e.options,e.setState(t&&"select"),i||h.getSelectedPoints().forEach((function(t){let i=t.series;t.selected&&t!==e&&(t.selected=t.options.selected=!1,i.options.data[i.data.indexOf(t)]=t.options,t.setState(h.hoverPoints&&i.options.inactiveOtherPoints?"inactive":""),t.firePointEvent("unselect"))}))})),delete this.selectedStaging}onMouseOver(t){let{inverted:i,pointer:e}=this.series.chart;e&&(t=t?e.normalize(t):e.getChartCoordinatesFromPoint(this,i),e.runPointActions(t,this))}onMouseOut(){let t=this.series.chart;this.firePointEvent("mouseOut"),this.series.options.inactiveOtherPoints||(t.hoverPoints||[]).forEach((function(t){t.setState()})),t.hoverPoints=t.hoverPoint=null}manageEvent(t){let i=x(this.series.options.point,this.options).events?.[t];!g(i)||this.hcEvents?.[t]&&-1!==this.hcEvents?.[t]?.map((t=>t.fn)).indexOf(i)?this.importedUserEvent&&!i&&this.hcEvents?.[t]&&(M(this,t),delete this.hcEvents[t],Object.keys(this.hcEvents)||delete this.importedUserEvent):(this.importedUserEvent?.(),this.importedUserEvent=a(this,t,i))}setState(i,e){let s,h,r,o,a=this.series,l=this.state,c=a.options.states[i||"normal"]||{},f=n.plotOptions[a.type].marker&&a.options.marker,p=f&&f.states&&f.states[i||"normal"]||{},g=this.marker||{},b=a.chart,x=f&&a.markerAttribs,y=a.halo,M=a.stateMarkerGraphic;if((i=i||"")===this.state&&!e||this.selected&&"select"!==i||!1===c.enabled||i&&(!1===p.enabled||f&&!1===f.enabled&&!1===p.enabled)||i&&g.states&&g.states[i]&&!1===g.states[i].enabled)return;if(this.state=i,x&&(s=a.markerAttribs(this,i)),this.graphic&&!this.hasMockGraphic){if(l&&this.graphic.removeClass("highcharts-point-"+l),i&&this.graphic.addClass("highcharts-point-"+i),!b.styledMode){h=a.pointAttribs(this,i),r=v(b.options.chart.animation,c.animation);let t=h.opacity;a.options.inactiveOtherPoints&&m(t)&&(this.dataLabels||[]).forEach((function(i){i&&!i.hasClass("highcharts-data-label-hidden")&&(i.animate({opacity:t},r),i.connector&&i.connector.animate({opacity:t},r))})),this.graphic.animate(h,r)}s&&this.graphic.animate(s,v(b.options.chart.animation,p.animation,f.animation)),M&&M.hide()}else i&&p&&(o=g.symbol||a.symbol,M&&M.currentSymbol!==o&&(M=M.destroy()),s&&(M?M[e?"animate":"attr"]({x:s.x,y:s.y}):o&&(a.stateMarkerGraphic=M=b.renderer.symbol(o,s.x,s.y,s.width,s.height).add(a.markerGroup),M.currentSymbol=o)),!b.styledMode&&M&&"inactive"!==this.state&&M.attr(a.pointAttribs(this,i))),M&&(M[i&&this.isInside?"show":"hide"](),M.element.point=this,M.addClass(this.getClassName(),!0));let w=c.halo,k=this.graphic||M,S=k&&k.visibility||"inherit";w&&w.size&&k&&"hidden"!==S&&!this.isCluster?(y||(a.halo=y=b.renderer.path().add(k.parentGroup)),y.show()[e?"animate":"attr"]({d:this.haloPath(w.size)}),y.attr({class:"highcharts-halo highcharts-color-"+v(this.colorIndex,a.colorIndex)+(this.className?" "+this.className:""),visibility:S,zIndex:-1}),y.point=this,b.styledMode||y.attr(d({fill:this.color||a.color,"fill-opacity":w.opacity},t.filterUserAttributes(w.attributes||{})))):y?.point?.haloPath&&!y.point.destroyed&&y.animate({d:y.point.haloPath(0)},null,y.hide),u(this,"afterSetState",{state:i})}haloPath(t){let i=this.pos();return i?this.series.chart.renderer.symbols.circle(l(i[0],1)-t,i[1]-t,2*t,2*t):[]}}return k})),e(i,"Core/Pointer.js",[i["Core/Color/Color.js"],i["Core/Globals.js"],i["Core/Utilities.js"]],(function(t,i,e){var s;let{parse:h}=t,{charts:r,composed:n,isTouchDevice:o}=i,{addEvent:a,attr:l,css:c,extend:d,find:u,fireEvent:f,isNumber:p,isObject:g,objectEach:m,offset:b,pick:x,pushUnique:v,splat:y}=e;class M{applyInactiveState(t){let i,e=[];(t||[]).forEach((function(t){i=t.series,e.push(i),i.linkedParent&&e.push(i.linkedParent),i.linkedSeries&&(e=e.concat(i.linkedSeries)),i.navigatorSeries&&e.push(i.navigatorSeries)})),this.chart.series.forEach((function(t){-1===e.indexOf(t)?t.setState("inactive",!0):t.options.inactiveOtherPoints&&t.setAllPointsToState("inactive")}))}destroy(){let t=this;this.eventsToUnbind.forEach((t=>t())),this.eventsToUnbind=[],!i.chartCount&&(M.unbindDocumentMouseUp&&M.unbindDocumentMouseUp.forEach((t=>t())),M.unbindDocumentTouchEnd&&(M.unbindDocumentTouchEnd=M.unbindDocumentTouchEnd())),clearInterval(t.tooltipTimeout),m(t,(function(i,e){t[e]=void 0}))}getSelectionMarkerAttrs(t,i){let e={args:{chartX:t,chartY:i},attrs:{},shapeType:"rect"};return f(this,"getSelectionMarkerAttrs",e,(e=>{let s,{chart:h,zoomHor:r,zoomVert:n}=this,{mouseDownX:o=0,mouseDownY:a=0}=h,l=e.attrs;l.x=h.plotLeft,l.y=h.plotTop,l.width=r?1:h.plotWidth,l.height=n?1:h.plotHeight,r&&(s=t-o,l.width=Math.max(1,Math.abs(s)),l.x=(s>0?0:s)+o),n&&(s=i-a,l.height=Math.max(1,Math.abs(s)),l.y=(s>0?0:s)+a)})),e}drag(t){let i,{chart:e}=this,{mouseDownX:s=0,mouseDownY:r=0}=e,{panning:n,panKey:o,selectionMarkerFill:a}=e.options.chart,l=e.plotLeft,c=e.plotTop,d=e.plotWidth,u=e.plotHeight,f=g(n)?n.enabled:n,p=o&&t[`${o}Key`],m=t.chartX,b=t.chartY,x=this.selectionMarker;if((!x||!x.touch)&&(m<l?m=l:m>l+d&&(m=l+d),b<c?b=c:b>c+u&&(b=c+u),this.hasDragged=Math.sqrt(Math.pow(s-m,2)+Math.pow(r-b,2)),this.hasDragged>10)){i=e.isInsidePlot(s-l,r-c,{visiblePlotOnly:!0});let{shapeType:o,attrs:d}=this.getSelectionMarkerAttrs(m,b);(e.hasCartesianSeries||e.mapView)&&this.hasZoom&&i&&!p&&!x&&(this.selectionMarker=x=e.renderer[o](),x.attr({class:"highcharts-selection-marker",zIndex:7}).add(),e.styledMode||x.attr({fill:a||h("#334eff").setOpacity(.25).get()})),x&&x.attr(d),i&&!x&&f&&e.pan(t,n)}}dragStart(t){let i=this.chart;i.mouseIsDown=t.type,i.cancelClick=!1,i.mouseDownX=t.chartX,i.mouseDownY=t.chartY}getSelectionBox(t){let i={args:{marker:t},result:t.getBBox()};return f(this,"getSelectionBox",i),i.result}drop(t){let i,{chart:e,selectionMarker:s}=this;for(let t of e.axes)t.isPanning&&(t.isPanning=!1,(t.options.startOnTick||t.options.endOnTick||t.series.some((t=>t.boosted)))&&(t.forceRedraw=!0,t.setExtremes(t.userMin,t.userMax,!1),i=!0));if(i&&e.redraw(),s&&t){if(this.hasDragged){let i=this.getSelectionBox(s);e.transform({axes:e.axes.filter((t=>t.zoomEnabled&&("xAxis"===t.coll&&this.zoomX||"yAxis"===t.coll&&this.zoomY))),selection:{originalEvent:t,xAxis:[],yAxis:[],...i},from:i})}p(e.index)&&(this.selectionMarker=s.destroy())}e&&p(e.index)&&(c(e.container,{cursor:e._cursor}),e.cancelClick=this.hasDragged>10,e.mouseIsDown=!1,this.hasDragged=0,this.pinchDown=[])}findNearestKDPoint(t,i,e){let s;return t.forEach((function(t){let h=!(t.noSharedTooltip&&i)&&0>t.options.findNearestPointBy.indexOf("y"),r=t.searchPoint(e,h);g(r,!0)&&r.series&&(!g(s,!0)||function(t,e){let s=t.distX-e.distX,h=t.dist-e.dist,r=e.series.group?.zIndex-t.series.group?.zIndex;return 0!==s&&i?s:0!==h?h:0!==r?r:t.series.index>e.series.index?-1:1}(s,r)>0)&&(s=r)})),s}getChartCoordinatesFromPoint(t,i){let{xAxis:e,yAxis:s}=t.series,h=t.shapeArgs;if(e&&s){let r=t.clientX??t.plotX??0,n=t.plotY||0;return t.isNode&&h&&p(h.x)&&p(h.y)&&(r=h.x,n=h.y),i?{chartX:s.len+s.pos-n,chartY:e.len+e.pos-r}:{chartX:r+e.pos,chartY:n+s.pos}}if(h&&h.x&&h.y)return{chartX:h.x,chartY:h.y}}getChartPosition(){if(this.chartPosition)return this.chartPosition;let{container:t}=this.chart,i=b(t);this.chartPosition={left:i.left,top:i.top,scaleX:1,scaleY:1};let{offsetHeight:e,offsetWidth:s}=t;return s>2&&e>2&&(this.chartPosition.scaleX=i.width/s,this.chartPosition.scaleY=i.height/e),this.chartPosition}getCoordinates(t){let i={xAxis:[],yAxis:[]};for(let e of this.chart.axes)i[e.isXAxis?"xAxis":"yAxis"].push({axis:e,value:e.toValue(t[e.horiz?"chartX":"chartY"])});return i}getHoverData(t,i,e,s,h,r){let n,o=[],a=function(t){return t.visible&&!(!h&&t.directTouch)&&x(t.options.enableMouseTracking,!0)},l=i,c={chartX:r?r.chartX:void 0,chartY:r?r.chartY:void 0,shared:h};f(this,"beforeGetHoverData",c),n=l&&!l.stickyTracking?[l]:e.filter((t=>t.stickyTracking&&(c.filter||a)(t)));let d=s&&t||!r?t:this.findNearestKDPoint(n,h,r);return l=d&&d.series,d&&(h&&!l.noSharedTooltip?(n=e.filter((function(t){return c.filter?c.filter(t):a(t)&&!t.noSharedTooltip}))).forEach((function(t){let i=u(t.points,(function(t){return t.x===d.x&&!t.isNull}));g(i)&&(t.boosted&&t.boost&&(i=t.boost.getPoint(i)),o.push(i))})):o.push(d)),f(this,"afterGetHoverData",c={hoverPoint:d}),{hoverPoint:c.hoverPoint,hoverSeries:l,hoverPoints:o}}getPointFromEvent(t){let i,e=t.target;for(;e&&!i;)i=e.point,e=e.parentNode;return i}onTrackerMouseOut(t){let i=t.relatedTarget,e=this.chart.hoverSeries;this.isDirectTouch=!1,!e||!i||e.stickyTracking||this.inClass(i,"highcharts-tooltip")||this.inClass(i,"highcharts-series-"+e.index)&&this.inClass(i,"highcharts-tracker")||e.onMouseOut()}inClass(t,i){let e,s=t;for(;s;){if(e=l(s,"class")){if(-1!==e.indexOf(i))return!0;if(-1!==e.indexOf("highcharts-container"))return!1}s=s.parentElement}}constructor(t,i){this.hasDragged=0,this.pointerCaptureEventsToUnbind=[],this.eventsToUnbind=[],this.options=i,this.chart=t,this.runChartClick=!!i.chart.events?.click,this.pinchDown=[],this.setDOMEvents(),f(this,"afterInit")}normalize(t,i){let e=t.touches,s=e?e.length?e.item(0):x(e.changedTouches,t.changedTouches)[0]:t;i||(i=this.getChartPosition());let h=s.pageX-i.left,r=s.pageY-i.top;return d(t,{chartX:Math.round(h/=i.scaleX),chartY:Math.round(r/=i.scaleY)})}onContainerClick(t){let i=this.chart,e=i.hoverPoint,s=this.normalize(t),h=i.plotLeft,r=i.plotTop;!i.cancelClick&&(e&&this.inClass(s.target,"highcharts-tracker")?(f(e.series,"click",d(s,{point:e})),i.hoverPoint&&e.firePointEvent("click",s)):(d(s,this.getCoordinates(s)),i.isInsidePlot(s.chartX-h,s.chartY-r,{visiblePlotOnly:!0})&&f(i,"click",s)))}onContainerMouseDown(t){let e=1==(1&(t.buttons||t.button));t=this.normalize(t),i.isFirefox&&0!==t.button&&this.onContainerMouseMove(t),(void 0===t.button||e)&&(this.zoomOption(t),e&&t.preventDefault?.(),this.dragStart(t))}onContainerMouseLeave(t){let{pointer:i}=r[x(M.hoverChartIndex,-1)]||{};t=this.normalize(t),this.onContainerMouseMove(t),i&&!this.inClass(t.relatedTarget,"highcharts-tooltip")&&(i.reset(),i.chartPosition=void 0)}onContainerMouseEnter(){delete this.chartPosition}onContainerMouseMove(t){let i=this.chart,e=i.tooltip,s=this.normalize(t);this.setHoverChartIndex(t),("mousedown"===i.mouseIsDown||this.touchSelect(s))&&this.drag(s),!i.openMenu&&(this.inClass(s.target,"highcharts-tracker")||i.isInsidePlot(s.chartX-i.plotLeft,s.chartY-i.plotTop,{visiblePlotOnly:!0}))&&(!e||!e.shouldStickOnContact(s))&&(this.inClass(s.target,"highcharts-no-tooltip")?this.reset(!1,0):this.runPointActions(s))}onDocumentTouchEnd(t){this.onDocumentMouseUp(t)}onContainerTouchMove(t){this.touchSelect(t)?this.onContainerMouseMove(t):this.touch(t)}onContainerTouchStart(t){this.touchSelect(t)?this.onContainerMouseDown(t):(this.zoomOption(t),this.touch(t,!0))}onDocumentMouseMove(t){let i=this.chart,e=i.tooltip,s=this.chartPosition,h=this.normalize(t,s);!s||i.isInsidePlot(h.chartX-i.plotLeft,h.chartY-i.plotTop,{visiblePlotOnly:!0})||e&&e.shouldStickOnContact(h)||h.target!==i.container.ownerDocument&&this.inClass(h.target,"highcharts-tracker")||this.reset()}onDocumentMouseUp(t){r[x(M.hoverChartIndex,-1)]?.pointer?.drop(t)}pinch(t){let i=this,{chart:e,hasZoom:s,lastTouches:h}=i,r=[].map.call(t.touches||[],(t=>i.normalize(t))),n=r.length,o=1===n&&(i.inClass(t.target,"highcharts-tracker")&&e.runTrackerClick||i.runChartClick),a=1===n&&x(e.tooltip?.options.followTouchMove,!0);n>1?i.initiated=!0:a&&(i.initiated=!1),s&&i.initiated&&!o&&!1!==t.cancelable&&t.preventDefault(),"touchstart"===t.type?(i.pinchDown=r,i.res=!0,e.mouseDownX=t.chartX):a?this.runPointActions(i.normalize(t)):h&&(f(e,"touchpan",{originalEvent:t,touches:r},(()=>{let i=t=>{let i=t[0],e=t[1]||i;return{x:i.chartX,y:i.chartY,width:e.chartX-i.chartX,height:e.chartY-i.chartY}};e.transform({axes:e.axes.filter((t=>t.zoomEnabled&&(this.zoomHor&&t.horiz||this.zoomVert&&!t.horiz))),to:i(r),from:i(h),trigger:t.type})})),i.res&&(i.res=!1,this.reset(!1,0))),i.lastTouches=r}reset(t,i){let e=this.chart,s=e.hoverSeries,h=e.hoverPoint,r=e.hoverPoints,n=e.tooltip,o=n&&n.shared?r:h;t&&o&&y(o).forEach((function(i){i.series.isCartesian&&void 0===i.plotX&&(t=!1)})),t?n&&o&&y(o).length&&(n.refresh(o),n.shared&&r?r.forEach((function(t){t.setState(t.state,!0),t.series.isCartesian&&(t.series.xAxis.crosshair&&t.series.xAxis.drawCrosshair(null,t),t.series.yAxis.crosshair&&t.series.yAxis.drawCrosshair(null,t))})):h&&(h.setState(h.state,!0),e.axes.forEach((function(t){t.crosshair&&h.series[t.coll]===t&&t.drawCrosshair(null,h)})))):(h&&h.onMouseOut(),r&&r.forEach((function(t){t.setState()})),s&&s.onMouseOut(),n&&n.hide(i),this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove()),e.axes.forEach((function(t){t.hideCrosshair()})),e.hoverPoints=e.hoverPoint=void 0)}runPointActions(t,i,e){let s=this.chart,h=s.tooltip&&s.tooltip.options.enabled?s.tooltip:void 0,n=!!h&&h.shared,o=i||s.hoverPoint,l=o&&o.series||s.hoverSeries,c=this.getHoverData(o,l,s.series,(!t||"touchmove"!==t.type)&&(!!i||l&&l.directTouch&&this.isDirectTouch),n,t);o=c.hoverPoint,l=c.hoverSeries;let d=c.hoverPoints,f=l&&l.tooltipOptions.followPointer&&!l.tooltipOptions.split,p=n&&l&&!l.noSharedTooltip;if(o&&(e||o!==s.hoverPoint||h&&h.isHidden)){if((s.hoverPoints||[]).forEach((function(t){-1===d.indexOf(t)&&t.setState()})),s.hoverSeries!==l&&l.onMouseOver(),this.applyInactiveState(d),(d||[]).forEach((function(t){t.setState("hover")})),s.hoverPoint&&s.hoverPoint.firePointEvent("mouseOut"),!o.series)return;s.hoverPoints=d,s.hoverPoint=o,o.firePointEvent("mouseOver",void 0,(()=>{h&&o&&h.refresh(p?d:o,t)}))}else if(f&&h&&!h.isHidden){let i=h.getAnchor([{}],t);s.isInsidePlot(i[0],i[1],{visiblePlotOnly:!0})&&h.updatePosition({plotX:i[0],plotY:i[1]})}this.unDocMouseMove||(this.unDocMouseMove=a(s.container.ownerDocument,"mousemove",(t=>r[M.hoverChartIndex??-1]?.pointer?.onDocumentMouseMove(t))),this.eventsToUnbind.push(this.unDocMouseMove)),s.axes.forEach((function(i){let e,h=x((i.crosshair||{}).snap,!0);!h||(e=s.hoverPoint)&&e.series[i.coll]===i||(e=u(d,(t=>t.series&&t.series[i.coll]===i))),e||!h?i.drawCrosshair(t,e):i.hideCrosshair()}))}setDOMEvents(){let t=this.chart.container,i=t.ownerDocument;t.onmousedown=this.onContainerMouseDown.bind(this),t.onmousemove=this.onContainerMouseMove.bind(this),t.onclick=this.onContainerClick.bind(this),this.eventsToUnbind.push(a(t,"mouseenter",this.onContainerMouseEnter.bind(this)),a(t,"mouseleave",this.onContainerMouseLeave.bind(this))),M.unbindDocumentMouseUp||(M.unbindDocumentMouseUp=[]),M.unbindDocumentMouseUp.push(a(i,"mouseup",this.onDocumentMouseUp.bind(this)));let e=this.chart.renderTo.parentElement;for(;e&&"BODY"!==e.tagName;)this.eventsToUnbind.push(a(e,"scroll",(()=>{delete this.chartPosition}))),e=e.parentElement;this.eventsToUnbind.push(a(t,"touchstart",this.onContainerTouchStart.bind(this),{passive:!1}),a(t,"touchmove",this.onContainerTouchMove.bind(this),{passive:!1})),M.unbindDocumentTouchEnd||(M.unbindDocumentTouchEnd=a(i,"touchend",this.onDocumentTouchEnd.bind(this),{passive:!1})),this.setPointerCapture(),a(this.chart,"redraw",this.setPointerCapture.bind(this))}setPointerCapture(){if(!o)return;let t=this.pointerCaptureEventsToUnbind,i=this.chart,e=i.container,s=x(i.options.tooltip?.followTouchMove,!0)&&i.series.some((t=>t.options.findNearestPointBy.indexOf("y")>-1));!this.hasPointerCapture&&s?(t.push(a(e,"pointerdown",(t=>{t.target?.hasPointerCapture(t.pointerId)&&t.target?.releasePointerCapture(t.pointerId)})),a(e,"pointermove",(t=>{i.pointer?.getPointFromEvent(t)?.onMouseOver(t)}))),i.styledMode||c(e,{"touch-action":"none"}),e.className+=" highcharts-no-touch-action",this.hasPointerCapture=!0):this.hasPointerCapture&&!s&&(t.forEach((t=>t())),t.length=0,i.styledMode||c(e,{"touch-action":x(i.options.chart.style?.["touch-action"],"manipulation")}),e.className=e.className.replace(" highcharts-no-touch-action",""),this.hasPointerCapture=!1)}setHoverChartIndex(t){let e=this.chart,s=i.charts[x(M.hoverChartIndex,-1)];if(s&&s!==e){let i={relatedTarget:e.container};t&&!t?.relatedTarget&&(t={...i,...t}),s.pointer?.onContainerMouseLeave(t||i)}s&&s.mouseIsDown||(M.hoverChartIndex=e.index)}touch(t,i){let e,{chart:s,pinchDown:h=[]}=this;this.setHoverChartIndex(),1===(t=this.normalize(t)).touches.length?s.isInsidePlot(t.chartX-s.plotLeft,t.chartY-s.plotTop,{visiblePlotOnly:!0})&&!s.openMenu?(i&&this.runPointActions(t),"touchmove"===t.type&&(e=!!h[0]&&Math.pow(h[0].chartX-t.chartX,2)+Math.pow(h[0].chartY-t.chartY,2)>=16),x(e,!0)&&this.pinch(t)):i&&this.reset():2===t.touches.length&&this.pinch(t)}touchSelect(t){return!(!this.chart.zooming.singleTouch||!t.touches||1!==t.touches.length)}zoomOption(t){let i,e,s=this.chart,h=s.inverted,r=s.zooming.type||"";/touch/.test(t.type)&&(r=x(s.zooming.pinchType,r)),this.zoomX=i=/x/.test(r),this.zoomY=e=/y/.test(r),this.zoomHor=i&&!h||e&&h,this.zoomVert=e&&!h||i&&h,this.hasZoom=i||e}}return(s=M||(M={})).compose=function(t){v(n,"Core.Pointer")&&a(t,"beforeRender",(function(){this.pointer=new s(this,this.options)}))},M})),e(i,"Core/Legend/LegendSymbol.js",[i["Core/Utilities.js"]],(function(t){var i;let{extend:e,merge:s,pick:h}=t;return function(t){function i(t,i,r){let n,o=this.legendItem=this.legendItem||{},{chart:a,options:l}=this,{baseline:c=0,symbolWidth:d,symbolHeight:u}=t,f=this.symbol||"circle",p=u/2,g=a.renderer,m=o.group,b=c-Math.round((t.fontMetrics?.b||u)*(r?.4:.3)),x={},v=l.marker,y=0;if(a.styledMode||(x["stroke-width"]=Math.min(l.lineWidth||0,24),l.dashStyle?x.dashstyle=l.dashStyle:"square"===l.linecap||(x["stroke-linecap"]="round")),o.line=g.path().addClass("highcharts-graph").attr(x).add(m),r&&(o.area=g.path().addClass("highcharts-area").add(m)),x["stroke-linecap"]&&(y=Math.min(o.line.strokeWidth(),d)/2),d){let t=[["M",y,b],["L",d-y,b]];o.line.attr({d:t}),o.area?.attr({d:[...t,["L",d-y,c],["L",y,c]]})}if(v&&!1!==v.enabled&&d){let t=Math.min(h(v.radius,p),p);0===f.indexOf("url")&&(v=s(v,{width:u,height:u}),t=0),o.symbol=n=g.symbol(f,d/2-t,b-t,2*t,2*t,e({context:"legend"},v)).addClass("highcharts-point").add(m),n.isMarker=!0}}t.areaMarker=function(t,e){i.call(this,t,e,!0)},t.lineMarker=i,t.rectangle=function(t,i){let e=i.legendItem||{},s=t.symbolHeight,r=t.options.squareSymbol;e.symbol=this.chart.renderer.rect(r?(t.symbolWidth-s)/2:0,t.baseline-s+1,r?s:t.symbolWidth,s,h(t.options.symbolRadius,s/2)).addClass("highcharts-point").attr({zIndex:3}).add(e.group)}}(i||(i={})),i})),e(i,"Core/Series/SeriesDefaults.js",[],(function(){return{lineWidth:2,allowPointSelect:!1,crisp:!0,showCheckbox:!1,animation:{duration:1e3},enableMouseTracking:!0,events:{},marker:{enabledThreshold:2,lineColor:"#ffffff",lineWidth:0,radius:4,states:{normal:{animation:!0},hover:{animation:{duration:150},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:"#cccccc",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:{animation:{},align:"center",borderWidth:0,defer:!0,formatter:function(){let{numberFormatter:t}=this.series.chart;return"number"!=typeof this.y?"":t(this.y,-1)},padding:5,style:{fontSize:"0.7em",fontWeight:"bold",color:"contrast",textOutline:"1px contrast"},verticalAlign:"bottom",x:0,y:0},cropThreshold:300,opacity:1,pointRange:0,softThreshold:!0,states:{normal:{animation:!0},hover:{animation:{duration:150},lineWidthPlus:1,marker:{},halo:{size:10,opacity:.25}},select:{animation:{duration:0}},inactive:{animation:{duration:150},opacity:.2}},stickyTracking:!0,turboThreshold:1e3,findNearestPointBy:"x"}})),e(i,"Core/Series/SeriesRegistry.js",[i["Core/Globals.js"],i["Core/Defaults.js"],i["Core/Series/Point.js"],i["Core/Utilities.js"]],(function(t,i,e,s){var h;let{defaultOptions:r}=i,{extend:n,extendClass:o,merge:a}=s;return function(i){function s(t,s){let h=r.plotOptions||{},n=s.defaultOptions,o=s.prototype;return o.type=t,o.pointClass||(o.pointClass=e),!i.seriesTypes[t]&&(n&&(h[t]=n),i.seriesTypes[t]=s,!0)}i.seriesTypes=t.seriesTypes,i.registerSeriesType=s,i.seriesType=function(t,h,l,c,d){let u=r.plotOptions||{};if(u[t]=a(u[h=h||""],l),delete i.seriesTypes[t],s(t,o(i.seriesTypes[h]||function(){},c)),i.seriesTypes[t].prototype.type=t,d){class s extends e{}n(s.prototype,d),i.seriesTypes[t].prototype.pointClass=s}return i.seriesTypes[t]}}(h||(h={})),h})),e(i,"Core/Series/Series.js",[i["Core/Animation/AnimationUtilities.js"],i["Core/Defaults.js"],i["Core/Foundation.js"],i["Core/Globals.js"],i["Core/Legend/LegendSymbol.js"],i["Core/Series/Point.js"],i["Core/Series/SeriesDefaults.js"],i["Core/Series/SeriesRegistry.js"],i["Core/Renderer/SVG/SVGElement.js"],i["Core/Utilities.js"]],(function(t,i,e,s,h,r,n,o,a,l){let{animObject:c,setAnimation:d}=t,{defaultOptions:u}=i,{registerEventOptions:f}=e,{svg:p,win:g}=s,{seriesTypes:m}=o,{arrayMax:b,arrayMin:x,clamp:v,correctFloat:y,crisp:M,defined:w,destroyObjectProperties:k,diffObjects:S,erase:O,error:A,extend:L,find:C,fireEvent:j,getClosestDistance:T,getNestedProperty:P,insertItem:E,isArray:z,isNumber:D,isString:N,merge:I,objectEach:F,pick:R,removeEvent:B,splat:Y,syncTimeout:G}=l;class X{constructor(){this.zoneAxis="y"}init(t,i){let e;j(this,"init",{options:i});let s=this,h=t.series;this.eventsToUnbind=[],s.chart=t,s.options=s.setOptions(i);let r=s.options,n=!1!==r.visible;s.linkedSeries=[],s.bindAxes(),L(s,{name:r.name,state:"",visible:n,selected:!0===r.selected}),f(this,r);let o=r.events;(o&&o.click||r.point&&r.point.events&&r.point.events.click||r.allowPointSelect)&&(t.runTrackerClick=!0),s.getColor(),s.getSymbol(),s.parallelArrays.forEach((function(t){s[t+"Data"]||(s[t+"Data"]=[])})),s.isCartesian&&(t.hasCartesianSeries=!0),h.length&&(e=h[h.length-1]),s._i=R(e&&e._i,-1)+1,s.opacity=s.options.opacity,t.orderItems("series",E(this,h)),r.dataSorting&&r.dataSorting.enabled?s.setDataSortingOptions():s.points||s.data||s.setData(r.data,!1),j(this,"afterInit")}is(t){return m[t]&&this instanceof m[t]}bindAxes(){let t,i=this,e=i.options,s=i.chart;j(this,"bindAxes",null,(function(){(i.axisTypes||[]).forEach((function(h){(s[h]||[]).forEach((function(s){t=s.options,(R(e[h],0)===s.index||void 0!==e[h]&&e[h]===t.id)&&(E(i,s.series),i[h]=s,s.isDirty=!0)})),i[h]||i.optionalAxis===h||A(18,!0,s)}))})),j(this,"afterBindAxes")}updateParallelArrays(t,i,e){let s=t.series,h=D(i)?function(e){let h="y"===e&&s.toYData?s.toYData(t):t[e];s[e+"Data"][i]=h}:function(t){Array.prototype[i].apply(s[t+"Data"],e)};s.parallelArrays.forEach(h)}hasData(){return this.visible&&void 0!==this.dataMax&&void 0!==this.dataMin||this.visible&&this.yData&&this.yData.length>0}hasMarkerChanged(t,i){let e=t.marker,s=i.marker||{};return e&&(s.enabled&&!e.enabled||s.symbol!==e.symbol||s.height!==e.height||s.width!==e.width)}autoIncrement(t){let i,e,s=this.options,h=s.pointIntervalUnit,r=s.relativeXValue,n=this.chart.time,o=this.xIncrement;return o=R(o,s.pointStart,0),this.pointInterval=e=R(this.pointInterval,s.pointInterval,1),r&&D(t)&&(e*=t),h&&(i=new n.Date(o),"day"===h?n.set("Date",i,n.get("Date",i)+e):"month"===h?n.set("Month",i,n.get("Month",i)+e):"year"===h&&n.set("FullYear",i,n.get("FullYear",i)+e),e=i.getTime()-o),r&&D(t)?o+e:(this.xIncrement=o+e,o)}setDataSortingOptions(){let t=this.options;L(this,{requireSorting:!1,sorted:!1,enabledDataSorting:!0,allowDG:!1}),w(t.pointRange)||(t.pointRange=1)}setOptions(t){let i,e=this.chart,s=e.options.plotOptions,h=e.userOptions||{},r=I(t),n=e.styledMode,o={plotOptions:s,userOptions:r};j(this,"setOptions",o);let a=o.plotOptions[this.type],l=h.plotOptions||{},c=l.series||{},d=u.plotOptions[this.type]||{},f=l[this.type]||{};this.userOptions=o.userOptions;let p=I(a,s.series,f,r);this.tooltipOptions=I(u.tooltip,u.plotOptions.series?.tooltip,d?.tooltip,e.userOptions.tooltip,l.series?.tooltip,f.tooltip,r.tooltip),this.stickyTracking=R(r.stickyTracking,f.stickyTracking,c.stickyTracking,!!this.tooltipOptions.shared&&!this.noSharedTooltip||p.stickyTracking),null===a.marker&&delete p.marker,this.zoneAxis=p.zoneAxis||"y";let g=this.zones=(p.zones||[]).map((t=>({...t})));return(p.negativeColor||p.negativeFillColor)&&!p.zones&&(i={value:p[this.zoneAxis+"Threshold"]||p.threshold||0,className:"highcharts-negative"},n||(i.color=p.negativeColor,i.fillColor=p.negativeFillColor),g.push(i)),g.length&&w(g[g.length-1].value)&&g.push(n?{}:{color:this.color,fillColor:this.fillColor}),j(this,"afterSetOptions",{options:p}),p}getName(){return R(this.options.name,"Series "+(this.index+1))}getCyclic(t,i,e){let s,h,r=this.chart,n=`${t}Index`,o=`${t}Counter`,a=e?.length||r.options.chart.colorCount;!i&&(w(h=R("color"===t?this.options.colorIndex:void 0,this[n]))?s=h:(r.series.length||(r[o]=0),s=r[o]%a,r[o]+=1),e&&(i=e[s])),void 0!==s&&(this[n]=s),this[t]=i}getColor(){this.chart.styledMode?this.getCyclic("color"):this.options.colorByPoint?this.color="#cccccc":this.getCyclic("color",this.options.color||u.plotOptions[this.type].color,this.chart.options.colors)}getPointsCollection(){return(this.hasGroupedData?this.points:this.data)||[]}getSymbol(){this.getCyclic("symbol",this.options.marker.symbol,this.chart.options.symbols)}findPointIndex(t,i){let e,s,h,n=t.id,o=t.x,a=this.points,l=this.options.dataSorting;if(n){let t=this.chart.get(n);t instanceof r&&(e=t)}else if(this.linkedParent||this.enabledDataSorting||this.options.relativeXValue){let i=i=>!i.touched&&i.index===t.index;if(l&&l.matchByName?i=i=>!i.touched&&i.name===t.name:this.options.relativeXValue&&(i=i=>!i.touched&&i.options.x===t.x),!(e=C(a,i)))return}return e&&void 0!==(h=e&&e.index)&&(s=!0),void 0===h&&D(o)&&(h=this.xData.indexOf(o,i)),-1!==h&&void 0!==h&&this.cropped&&(h=h>=this.cropStart?h-this.cropStart:h),!s&&D(h)&&a[h]&&a[h].touched&&(h=void 0),h}updateData(t,i){let e,s,h,r,n=this.options,o=n.dataSorting,a=this.points,l=[],c=this.requireSorting,d=t.length===a.length,u=!0;if(this.xIncrement=null,t.forEach((function(t,i){let s,h=w(t)&&this.pointClass.prototype.optionsToObject.call({series:this},t)||{};h.id||D(h.x)?(-1===(s=this.findPointIndex(h,r))||void 0===s?l.push(t):a[s]&&t!==n.data[s]?(a[s].update(t,!1,null,!1),a[s].touched=!0,c&&(r=s+1)):a[s]&&(a[s].touched=!0),(!d||i!==s||o&&o.enabled||this.hasDerivedData)&&(e=!0)):l.push(t)}),this),e)for(s=a.length;s--;)(h=a[s])&&!h.touched&&h.remove&&h.remove(!1,i);else!d||o&&o.enabled?u=!1:(t.forEach((function(t,i){t===a[i].y||a[i].destroyed||a[i].update(t,!1,null,!1)})),l.length=0);return a.forEach((function(t){t&&(t.touched=!1)})),!!u&&(l.forEach((function(t){this.addPoint(t,!1,null,null,!1)}),this),null===this.xIncrement&&this.xData&&this.xData.length&&(this.xIncrement=b(this.xData),this.autoIncrement()),!0)}setData(t,i=!0,e,s){let h,r,n,o,a=this,l=a.points,c=l&&l.length||0,d=a.options,u=a.chart,f=d.dataSorting,p=a.xAxis,g=d.turboThreshold,m=this.xData,b=this.yData,x=a.pointArrayMap,v=x&&x.length,y=d.keys,M=0,w=1;u.options.chart.allowMutatingData||(d.data&&delete a.options.data,a.userOptions.data&&delete a.userOptions.data,o=I(!0,t));let k=(t=o||t||[]).length;if(f&&f.enabled&&(t=this.sortData(t)),u.options.chart.allowMutatingData&&!1!==s&&k&&c&&!a.cropped&&!a.hasGroupedData&&a.visible&&!a.boosted&&(n=this.updateData(t,e)),!n){a.xIncrement=null,a.colorCounter=0,this.parallelArrays.forEach((function(t){a[t+"Data"].length=0}));let i=g&&k>g;if(i){let e=a.getFirstValidPoint(t),s=a.getFirstValidPoint(t,k-1,-1),n=t=>!(!z(t)||!y&&!D(t[0]));if(D(e)&&D(s))for(h=0;h<k;h++)m[h]=this.autoIncrement(),b[h]=t[h];else if(n(e)&&n(s))if(v)if(e.length===v)for(h=0;h<k;h++)m[h]=this.autoIncrement(),b[h]=t[h];else for(h=0;h<k;h++)r=t[h],m[h]=r[0],b[h]=r.slice(1,v+1);else if(y&&(M=y.indexOf("x"),w=y.indexOf("y"),M=M>=0?M:0,w=w>=0?w:1),1===e.length&&(w=0),M===w)for(h=0;h<k;h++)m[h]=this.autoIncrement(),b[h]=t[h][w];else for(h=0;h<k;h++)r=t[h],m[h]=r[M],b[h]=r[w];else i=!1}if(!i)for(h=0;h<k;h++)r={series:a},a.pointClass.prototype.applyOptions.apply(r,[t[h]]),a.updateParallelArrays(r,h);for(b&&N(b[0])&&A(14,!0,u),a.data=[],a.options.data=a.userOptions.data=t,h=c;h--;)l[h]?.destroy();p&&(p.minRange=p.userMinRange),a.isDirty=u.isDirtyBox=!0,a.isDirtyData=!!l,e=!1}"point"===d.legendType&&(this.processData(),this.generatePoints()),i&&u.redraw(e)}sortData(t){let i=this,e=i.options.dataSorting.sortKey||"y",s=function(t,i){return w(i)&&t.pointClass.prototype.optionsToObject.call({series:t},i)||{}};return t.forEach((function(e,h){t[h]=s(i,e),t[h].index=h}),this),t.concat().sort(((t,i)=>{let s=P(e,t),h=P(e,i);return h<s?-1:h>s?1:0})).forEach((function(t,i){t.x=i}),this),i.linkedSeries&&i.linkedSeries.forEach((function(i){let e=i.options,h=e.data;e.dataSorting&&e.dataSorting.enabled||!h||(h.forEach((function(e,r){h[r]=s(i,e),t[r]&&(h[r].x=t[r].x,h[r].index=r)})),i.setData(h,!1))})),t}getProcessedData(t){let i,e,s,h,r,n=this,o=n.xAxis,a=n.options.cropThreshold,l=o?.logarithmic,c=n.isCartesian,d=0,u=n.xData,f=n.yData,p=!1,g=u.length;o&&(h=(s=o.getExtremes()).min,r=s.max,p=!(!o.categories||o.names.length)),c&&n.sorted&&!t&&(!a||g>a||n.forceCrop)&&(u[g-1]<h||u[0]>r?(u=[],f=[]):n.yData&&(u[0]<h||u[g-1]>r)&&(u=(i=this.cropData(n.xData,n.yData,h,r)).xData,f=i.yData,d=i.start,e=!0));let m=T([l?u.map(l.log2lin):u],(()=>n.requireSorting&&!p&&A(15,!1,n.chart)));return{xData:u,yData:f,cropped:e,cropStart:d,closestPointRange:m}}processData(t){if(this.isCartesian&&!this.isDirty&&!this.xAxis.isDirty&&!this.yAxis.isDirty&&!t)return!1;let i=this.getProcessedData();this.cropped=i.cropped,this.cropStart=i.cropStart,this.processedXData=i.xData,this.processedYData=i.yData,this.closestPointRange=this.basePointRange=i.closestPointRange,j(this,"afterProcessData")}cropData(t,i,e,s){let h,r,n=t.length,o=0,a=n;for(h=0;h<n;h++)if(t[h]>=e){o=Math.max(0,h-1);break}for(r=h;r<n;r++)if(t[r]>s){a=r+1;break}return{xData:t.slice(o,a),yData:i.slice(o,a),start:o,end:a}}generatePoints(){let t,i,e,s,h=this.options,r=this.processedData||h.data,n=this.processedXData,o=this.processedYData,a=this.pointClass,l=n.length,c=this.cropStart||0,d=this.hasGroupedData,u=h.keys,f=[],p=h.dataGrouping&&h.dataGrouping.groupAll?c:0,g=this.data;if(!g&&!d){let t=[];t.length=r.length,g=this.data=t}for(u&&d&&(this.options.keys=!1),s=0;s<l;s++)i=c+s,d?((e=new a(this,[n[s]].concat(Y(o[s])))).dataGroup=this.groupMap[p+s],e.dataGroup.options&&(e.options=e.dataGroup.options,L(e,e.dataGroup.options),delete e.dataLabels)):(e=g[i])||void 0===r[i]||(g[i]=e=new a(this,r[i],n[s])),e&&(e.index=d?p+s:i,f[s]=e);if(this.options.keys=u,g&&(l!==(t=g.length)||d))for(s=0;s<t;s++)s!==c||d||(s+=l),g[s]&&(g[s].destroyElements(),g[s].plotX=void 0);this.data=g,this.points=f,j(this,"afterGeneratePoints")}getXExtremes(t){return{min:x(t),max:b(t)}}getExtremes(t,i){let e,s,h,r,n,o,a,l=this.xAxis,c=this.yAxis,d=[],u=this.requireSorting&&!this.is("column")?1:0,f=!!c&&c.positiveValuesOnly,p=i||this.getExtremesFromAll||this.options.getExtremesFromAll,{processedXData:g,processedYData:m}=this,v=0,y=0,M=0;if(this.cropped&&p){let t=this.getProcessedData(!0);g=t.xData,m=t.yData}let w=(t=t||this.stackedYData||m||[]).length,k=g||this.xData;for(l&&(v=(e=l.getExtremes()).min,y=e.max),o=0;o<w;o++)if(r=k[o],s=(D(n=t[o])||z(n))&&((D(n)?n>0:n.length)||!f),h=i||this.getExtremesFromAll||this.options.getExtremesFromAll||this.cropped||!l||(k[o+u]||r)>=v&&(k[o-u]||r)<=y,s&&h)if(a=n.length)for(;a--;)D(n[a])&&(d[M++]=n[a]);else d[M++]=n;let S={activeYData:d,dataMin:x(d),dataMax:b(d)};return j(this,"afterGetExtremes",{dataExtremes:S}),S}applyExtremes(){let t=this.getExtremes();return this.dataMin=t.dataMin,this.dataMax=t.dataMax,t}getFirstValidPoint(t,i=0,e=1){let s=t.length,h=i;for(;h>=0&&h<s;){if(w(t[h]))return t[h];h+=e}}translate(){this.processedXData||this.processData(),this.generatePoints();let t,i,e,s,h=this.options,r=h.stacking,n=this.xAxis,o=n.categories,a=this.enabledDataSorting,l=this.yAxis,c=this.points,d=c.length,u=this.pointPlacementToXValue(),f=!!u,p=h.threshold,g=h.startFromThreshold?p:0,m=Number.MAX_VALUE;function b(t){return v(t,-1e9,1e9)}for(t=0;t<d;t++){let h,d,x,v=c[t],M=v.x,k=v.y,S=v.low,O=r&&l.stacking?.stacks[(this.negStacks&&k<(g?0:p)?"-":"")+this.stackKey];i=n.translate(M,!1,!1,!1,!0,u),v.plotX=D(i)?y(b(i)):void 0,r&&this.visible&&O&&O[M]&&(s=this.getStackIndicator(s,M,this.index),!v.isNull&&s.key&&(x=(d=O[M]).points[s.key]),d&&z(x)&&(S=x[0],k=x[1],S===g&&s.key===O[M].base&&(S=R(D(p)?p:l.min)),l.positiveValuesOnly&&w(S)&&S<=0&&(S=void 0),v.total=v.stackTotal=R(d.total),v.percentage=w(v.y)&&d.total?v.y/d.total*100:void 0,v.stackY=k,this.irregularWidths||d.setOffset(this.pointXOffset||0,this.barW||0,void 0,void 0,void 0,this.xAxis))),v.yBottom=w(S)?b(l.translate(S,!1,!0,!1,!0)):void 0,this.dataModify&&(k=this.dataModify.modifyValue(k,t)),D(k)&&void 0!==v.plotX&&(h=D(h=l.translate(k,!1,!0,!1,!0))?b(h):void 0),v.plotY=h,v.isInside=this.isPointInside(v),v.clientX=f?y(n.translate(M,!1,!1,!1,!0,u)):i,v.negative=(v.y||0)<(p||0),v.category=R(o&&o[v.x],v.x),v.isNull||!1===v.visible||(void 0!==e&&(m=Math.min(m,Math.abs(i-e))),e=i),v.zone=this.zones.length?v.getZone():void 0,!v.graphic&&this.group&&a&&(v.isNew=!0)}this.closestPointRangePx=m,j(this,"afterTranslate")}getValidPoints(t,i,e){let s=this.chart;return(t||this.points||[]).filter((function(t){let{plotX:h,plotY:r}=t;return!(!(e||!t.isNull&&D(r))||i&&!s.isInsidePlot(h,r,{inverted:s.inverted}))&&!1!==t.visible}))}getClipBox(){let{chart:t,xAxis:i,yAxis:e}=this,{x:s,y:h,width:r,height:n}=I(t.clipBox);return i&&i.len!==t.plotSizeX&&(r=i.len),e&&e.len!==t.plotSizeY&&(n=e.len),t.inverted&&!this.invertible&&([r,n]=[n,r]),{x:s,y:h,width:r,height:n}}getSharedClipKey(){return this.sharedClipKey=(this.options.xAxis||0)+","+(this.options.yAxis||0),this.sharedClipKey}setClip(){let{chart:t,group:i,markerGroup:e}=this,s=t.sharedClips,h=t.renderer,r=this.getClipBox(),n=this.getSharedClipKey(),o=s[n];o?o.animate(r):s[n]=o=h.clipRect(r),i&&i.clip(!1===this.options.clip?void 0:o),e&&e.clip()}animate(t){let{chart:i,group:e,markerGroup:s}=this,h=i.inverted,r=c(this.options.animation),n=[this.getSharedClipKey(),r.duration,r.easing,r.defer].join(","),o=i.sharedClips[n],a=i.sharedClips[n+"m"];if(t&&e){let t=this.getClipBox();o?o.attr("height",t.height):(t.width=0,h&&(t.x=i.plotHeight),o=i.renderer.clipRect(t),i.sharedClips[n]=o,a=i.renderer.clipRect({x:-99,y:-99,width:h?i.plotWidth+199:99,height:h?99:i.plotHeight+199}),i.sharedClips[n+"m"]=a),e.clip(o),s?.clip(a)}else if(o&&!o.hasClass("highcharts-animating")){let t=this.getClipBox(),e=r.step;(s?.element.childNodes.length||i.series.length>1)&&(r.step=function(t,i){e&&e.apply(i,arguments),"width"===i.prop&&a?.element&&a.attr(h?"height":"width",t+99)}),o.addClass("highcharts-animating").animate(t,r)}}afterAnimate(){this.setClip(),F(this.chart.sharedClips,((t,i,e)=>{t&&!this.chart.container.querySelector(`[clip-path="url(#${t.id})"]`)&&(t.destroy(),delete e[i])})),this.finishedAnimating=!0,j(this,"afterAnimate")}drawPoints(t=this.points){let i,e,s,h,r,n,o,a=this.chart,l=a.styledMode,{colorAxis:c,options:d}=this,u=d.marker,f=this[this.specialGroup||"markerGroup"],p=this.xAxis,g=R(u.enabled,!p||!!p.isRadial||null,this.closestPointRangePx>=u.enabledThreshold*u.radius);if(!1!==u.enabled||this._hasPointMarkers)for(i=0;i<t.length;i++)if(h=(s=(e=t[i]).graphic)?"animate":"attr",r=e.marker||{},n=!!e.marker,(g&&void 0===r.enabled||r.enabled)&&!e.isNull&&!1!==e.visible){let t=R(r.symbol,this.symbol,"rect");o=this.markerAttribs(e,e.selected&&"select"),this.enabledDataSorting&&(e.startXPos=p.reversed?-(o.width||0):p.width);let i=!1!==e.isInside;if(!s&&i&&((o.width||0)>0||e.hasImage)&&(e.graphic=s=a.renderer.symbol(t,o.x,o.y,o.width,o.height,n?r:u).add(f),this.enabledDataSorting&&a.hasRendered&&(s.attr({x:e.startXPos}),h="animate")),s&&"animate"===h&&s[i?"show":"hide"](i).animate(o),s){let t=this.pointAttribs(e,l||!e.selected?void 0:"select");l?c&&s.css({fill:t.fill}):s[h](t)}s&&s.addClass(e.getClassName(),!0)}else s&&(e.graphic=s.destroy())}markerAttribs(t,i){let e,s,h=this.options,r=h.marker,n=t.marker||{},o=n.symbol||r.symbol,a={},l=R(n.radius,r&&r.radius);i&&(e=r.states[i],l=R((s=n.states&&n.states[i])&&s.radius,e&&e.radius,l&&l+(e&&e.radiusPlus||0))),t.hasImage=o&&0===o.indexOf("url"),t.hasImage&&(l=0);let c=t.pos();return D(l)&&c&&(h.crisp&&(c[0]=M(c[0],t.hasImage?0:"rect"===o?r?.lineWidth||0:1)),a.x=c[0]-l,a.y=c[1]-l),l&&(a.width=a.height=2*l),a}pointAttribs(t,i){let e,s,h,r,n=this.options.marker,o=t&&t.options,a=o&&o.marker||{},l=o&&o.color,c=t&&t.color,d=t&&t.zone&&t.zone.color,u=this.color,f=R(a.lineWidth,n.lineWidth),p=1;return u=l||d||c||u,h=a.fillColor||n.fillColor||u,r=a.lineColor||n.lineColor||u,e=n.states[i=i||"normal"]||{},f=R((s=a.states&&a.states[i]||{}).lineWidth,e.lineWidth,f+R(s.lineWidthPlus,e.lineWidthPlus,0)),h=s.fillColor||e.fillColor||h,{stroke:r=s.lineColor||e.lineColor||r,"stroke-width":f,fill:h,opacity:p=R(s.opacity,e.opacity,p)}}destroy(t){let i,e,s,h=this,r=h.chart,n=/AppleWebKit\/533/.test(g.navigator.userAgent),o=h.data||[];for(j(h,"destroy",{keepEventsForUpdate:t}),this.removeEvents(t),(h.axisTypes||[]).forEach((function(t){(s=h[t])&&s.series&&(O(s.series,h),s.isDirty=s.forceRedraw=!0)})),h.legendItem&&h.chart.legend.destroyItem(h),i=o.length;i--;)(e=o[i])&&e.destroy&&e.destroy();for(let t of h.zones)k(t,void 0,!0);l.clearTimeout(h.animationTimeout),F(h,(function(t,i){t instanceof a&&!t.survive&&t[n&&"group"===i?"hide":"destroy"]()})),r.hoverSeries===h&&(r.hoverSeries=void 0),O(r.series,h),r.orderItems("series"),F(h,(function(i,e){t&&"hcEvents"===e||delete h[e]}))}applyZones(){let{area:t,chart:i,graph:e,zones:s,points:h,xAxis:r,yAxis:n,zoneAxis:o}=this,{inverted:a,renderer:l}=i,c=this[`${o}Axis`],{isXAxis:d,len:u=0}=c||{},f=(e?.strokeWidth()||0)/2+1,p=(t,i=0,e=0)=>{a&&(e=u-e);let{translated:s=0,lineClip:h}=t,r=e-s;h?.push(["L",i,Math.abs(r)<f?e-f*(r<=0?-1:1):s])};if(s.length&&(e||t)&&c&&D(c.min)){let i=c.getExtremes().max,f=t=>{t.forEach(((i,e)=>{("M"===i[0]||"L"===i[0])&&(t[e]=[i[0],d?u-i[1]:i[1],d?i[2]:u-i[2]])}))};if(s.forEach((t=>{t.lineClip=[],t.translated=v(c.toPixels(R(t.value,i),!0)||0,0,u)})),e&&!this.showLine&&e.hide(),t&&t.hide(),"y"===o&&h.length<r.len)for(let t of h){let{plotX:i,plotY:e,zone:h}=t,r=h&&s[s.indexOf(h)-1];h&&p(h,i,e),r&&p(r,i,e)}let g=[],m=c.toPixels(c.getExtremes().min,!0);s.forEach((i=>{let s=i.lineClip||[],h=Math.round(i.translated||0);r.reversed&&s.reverse();let{clip:o,simpleClip:c}=i,u=0,p=0,b=r.len,x=n.len;d?(u=h,b=m):(p=h,x=m);let v=[["M",u,p],["L",b,p],["L",b,x],["L",u,x],["Z"]],y=[v[0],...s,v[1],v[2],...g,v[3],v[4]];g=s.reverse(),m=h,a&&(f(y),t&&f(v)),o?(o.animate({d:y}),c?.animate({d:v})):(o=i.clip=l.path(y),t&&(c=i.simpleClip=l.path(v))),e&&i.graph?.clip(o),t&&i.area?.clip(c)}))}else this.visible&&(e&&e.show(),t&&t.show())}plotGroup(t,i,e,s,h){let r=this[t],n=!r,o={visibility:e,zIndex:s||.1};return w(this.opacity)&&!this.chart.styledMode&&"inactive"!==this.state&&(o.opacity=this.opacity),r||(this[t]=r=this.chart.renderer.g().add(h)),r.addClass("highcharts-"+i+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(w(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(r.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0),r.attr(o)[n?"attr":"animate"](this.getPlotBox(i)),r}getPlotBox(t){let i=this.xAxis,e=this.yAxis,s=this.chart,h=s.inverted&&!s.polar&&i&&this.invertible&&"series"===t;return s.inverted&&(i=e,e=this.xAxis),{translateX:i?i.left:s.plotLeft,translateY:e?e.top:s.plotTop,rotation:h?90:0,rotationOriginX:h?(i.len-e.len)/2:0,rotationOriginY:h?(i.len+e.len)/2:0,scaleX:h?-1:1,scaleY:1}}removeEvents(t){let{eventsToUnbind:i}=this;t||B(this),i.length&&(i.forEach((t=>{t()})),i.length=0)}render(){let t=this,{chart:i,options:e,hasRendered:s}=t,h=c(e.animation),r=t.visible?"inherit":"hidden",n=e.zIndex,o=i.seriesGroup,a=t.finishedAnimating?0:h.duration;j(this,"render"),t.plotGroup("group","series",r,n,o),t.markerGroup=t.plotGroup("markerGroup","markers",r,n,o),!1!==e.clip&&t.setClip(),a&&t.animate?.(!0),t.drawGraph&&(t.drawGraph(),t.applyZones()),t.visible&&t.drawPoints(),t.drawDataLabels?.(),t.redrawPoints?.(),e.enableMouseTracking&&t.drawTracker?.(),a&&t.animate?.(),s||(a&&h.defer&&(a+=h.defer),t.animationTimeout=G((()=>{t.afterAnimate()}),a||0)),t.isDirty=!1,t.hasRendered=!0,j(t,"afterRender")}redraw(){let t=this.isDirty||this.isDirtyData;this.translate(),this.render(),t&&delete this.kdTree}reserveSpace(){return this.visible||!this.chart.options.chart.ignoreHiddenSeries}searchPoint(t,i){let{xAxis:e,yAxis:s}=this,h=this.chart.inverted;return this.searchKDTree({clientX:h?e.len-t.chartY+e.pos:t.chartX-e.pos,plotY:h?s.len-t.chartX+s.pos:t.chartY-s.pos},i,t)}buildKDTree(t){this.buildingKdTree=!0;let i=this,e=i.options.findNearestPointBy.indexOf("y")>-1?2:1;delete i.kdTree,G((function(){i.kdTree=function t(e,s,h){let r,n,o=e?.length;if(o)return r=i.kdAxisArray[s%h],e.sort(((t,i)=>(t[r]||0)-(i[r]||0))),{point:e[n=Math.floor(o/2)],left:t(e.slice(0,n),s+1,h),right:t(e.slice(n+1),s+1,h)}}(i.getValidPoints(void 0,!i.directTouch),e,e),i.buildingKdTree=!1}),i.options.kdNow||"touchstart"===t?.type?0:1)}searchKDTree(t,i,e){let s=this,[h,r]=this.kdAxisArray,n=i?"distX":"dist",o=(s.options.findNearestPointBy||"").indexOf("y")>-1?2:1,a=!!s.isBubble;if(this.kdTree||this.buildingKdTree||this.buildKDTree(e),this.kdTree)return function t(i,e,o,l){let c,d,u=e.point,f=s.kdAxisArray[o%l],p=u;!function(t,i){let e=t[h],s=i[h],n=w(e)&&w(s)?e-s:null,o=t[r],l=i[r],c=w(o)&&w(l)?o-l:0,d=a&&i.marker?.radius||0;i.dist=Math.sqrt((n&&n*n||0)+c*c)-d,i.distX=w(n)?Math.abs(n)-d:Number.MAX_VALUE}(i,u);let g=(i[f]||0)-(u[f]||0)+(a&&u.marker?.radius||0),m=g<0?"left":"right",b=g<0?"right":"left";return e[m]&&(p=(c=t(i,e[m],o+1,l))[n]<p[n]?c:u),e[b]&&Math.sqrt(g*g)<p[n]&&(p=(d=t(i,e[b],o+1,l))[n]<p[n]?d:p),p}(t,this.kdTree,o,o)}pointPlacementToXValue(){let{options:t,xAxis:i}=this,e=t.pointPlacement;return"between"===e&&(e=i.reversed?-.5:.5),D(e)?e*(t.pointRange||i.pointRange):0}isPointInside(t){let{chart:i,xAxis:e,yAxis:s}=this,{plotX:h=-1,plotY:r=-1}=t;return r>=0&&r<=(s?s.len:i.plotHeight)&&h>=0&&h<=(e?e.len:i.plotWidth)}drawTracker(){let t=this,i=t.options,e=i.trackByArea,s=[].concat((e?t.areaPath:t.graphPath)||[]),h=t.chart,r=h.pointer,n=h.renderer,o=h.options.tooltip?.snap||0,a=()=>{i.enableMouseTracking&&h.hoverSeries!==t&&t.onMouseOver()},l="rgba(192,192,192,"+(p?1e-4:.002)+")",c=t.tracker;c?c.attr({d:s}):t.graph&&(t.tracker=c=n.path(s).attr({visibility:t.visible?"inherit":"hidden",zIndex:2}).addClass(e?"highcharts-tracker-area":"highcharts-tracker-line").add(t.group),h.styledMode||c.attr({"stroke-linecap":"round","stroke-linejoin":"round",stroke:l,fill:e?l:"none","stroke-width":t.graph.strokeWidth()+(e?0:2*o)}),[t.tracker,t.markerGroup,t.dataLabelsGroup].forEach((t=>{t&&(t.addClass("highcharts-tracker").on("mouseover",a).on("mouseout",(t=>{r?.onTrackerMouseOut(t)})),i.cursor&&!h.styledMode&&t.css({cursor:i.cursor}),t.on("touchstart",a))}))),j(this,"afterDrawTracker")}addPoint(t,i,e,s,h){let r,n,o=this.options,a=this.data,l=this.chart,c=this.xAxis,d=c&&c.hasNames&&c.names,u=o.data,f=this.xData;i=R(i,!0);let p={series:this};this.pointClass.prototype.applyOptions.apply(p,[t]);let g=p.x;if(n=f.length,this.requireSorting&&g<f[n-1])for(r=!0;n&&f[n-1]>g;)n--;this.updateParallelArrays(p,"splice",[n,0,0]),this.updateParallelArrays(p,n),d&&p.name&&(d[g]=p.name),u.splice(n,0,t),(r||this.processedData)&&(this.data.splice(n,0,null),this.processData()),"point"===o.legendType&&this.generatePoints(),e&&(a[0]&&a[0].remove?a[0].remove(!1):(a.shift(),this.updateParallelArrays(p,"shift"),u.shift())),!1!==h&&j(this,"addPoint",{point:p}),this.isDirty=!0,this.isDirtyData=!0,i&&l.redraw(s)}removePoint(t,i,e){let s=this,h=s.data,r=h[t],n=s.points,o=s.chart,a=function(){n&&n.length===h.length&&n.splice(t,1),h.splice(t,1),s.options.data.splice(t,1),s.updateParallelArrays(r||{series:s},"splice",[t,1]),r&&r.destroy(),s.isDirty=!0,s.isDirtyData=!0,i&&o.redraw()};d(e,o),i=R(i,!0),r?r.firePointEvent("remove",null,a):a()}remove(t,i,e,s){let h=this,r=h.chart;function n(){h.destroy(s),r.isDirtyLegend=r.isDirtyBox=!0,r.linkSeries(s),R(t,!0)&&r.redraw(i)}!1!==e?j(h,"remove",null,n):n()}update(t,i){j(this,"update",{options:t=S(t,this.userOptions)});let e,s,h=this,r=h.chart,n=h.userOptions,o=h.initialType||h.type,a=r.options.plotOptions,l=m[o].prototype,c=h.finishedAnimating&&{animation:!1},d={},u=["colorIndex","eventOptions","navigatorSeries","symbolIndex","baseSeries"],f=t.type||n.type||r.options.chart.type,p=!(this.hasDerivedData||f&&f!==this.type||void 0!==t.pointStart||void 0!==t.pointInterval||void 0!==t.relativeXValue||t.joinBy||t.mapData||["dataGrouping","pointStart","pointInterval","pointIntervalUnit","keys"].some((t=>h.hasOptionChanged(t))));f=f||o,p&&(u.push("data","isDirtyData","isDirtyCanvas","points","processedData","processedXData","processedYData","xIncrement","cropped","_hasPointMarkers","hasDataLabels","nodes","layout","level","mapMap","mapData","minY","maxY","minX","maxX","transformGroups"),!1!==t.visible&&u.push("area","graph"),h.parallelArrays.forEach((function(t){u.push(t+"Data")})),t.data&&(t.dataSorting&&L(h.options.dataSorting,t.dataSorting),this.setData(t.data,!1))),t=I(n,{index:void 0===n.index?h.index:n.index,pointStart:a?.series?.pointStart??n.pointStart??h.xData?.[0]},!p&&{data:h.options.data},t,c),p&&t.data&&(t.data=h.options.data),(u=["group","markerGroup","dataLabelsGroup","transformGroup"].concat(u)).forEach((function(t){u[t]=h[t],delete h[t]}));let g=!1;if(m[f]){if(g=f!==h.type,h.remove(!1,!1,!1,!0),g)if(r.propFromSeries(),Object.setPrototypeOf)Object.setPrototypeOf(h,m[f].prototype);else{let t=Object.hasOwnProperty.call(h,"hcEvents")&&h.hcEvents;for(s in l)h[s]=void 0;L(h,m[f].prototype),t?h.hcEvents=t:delete h.hcEvents}}else A(17,!0,r,{missingModuleFor:f});if(u.forEach((function(t){h[t]=u[t]})),h.init(r,t),p&&this.points)for(let t of(!1===(e=h.options).visible?(d.graphic=1,d.dataLabel=1):(this.hasMarkerChanged(e,n)&&(d.graphic=1),h.hasDataLabels?.()||(d.dataLabel=1)),this.points))t&&t.series&&(t.resolveColor(),Object.keys(d).length&&t.destroyElements(d),!1===e.showInLegend&&t.legendItem&&r.legend.destroyItem(t));h.initialType=o,r.linkSeries(),r.setSortedData(),g&&h.linkedSeries.length&&(h.isDirtyData=!0),j(this,"afterUpdate"),R(i,!0)&&r.redraw(!!p&&void 0)}setName(t){this.name=this.options.name=this.userOptions.name=t,this.chart.isDirtyLegend=!0}hasOptionChanged(t){let i=this.options[t],e=this.chart.options.plotOptions,s=this.userOptions[t],h=R(e?.[this.type]?.[t],e?.series?.[t]);return s&&!w(h)?i!==s:i!==R(h,i)}onMouseOver(){let t=this.chart,i=t.hoverSeries;t.pointer?.setHoverChartIndex(),i&&i!==this&&i.onMouseOut(),this.options.events.mouseOver&&j(this,"mouseOver"),this.setState("hover"),t.hoverSeries=this}onMouseOut(){let t=this.options,i=this.chart,e=i.tooltip,s=i.hoverPoint;i.hoverSeries=null,s&&s.onMouseOut(),this&&t.events.mouseOut&&j(this,"mouseOut"),e&&!this.stickyTracking&&(!e.shared||this.noSharedTooltip)&&e.hide(),i.series.forEach((function(t){t.setState("",!0)}))}setState(t,i){let e=this,s=e.options,h=e.graph,r=s.inactiveOtherPoints,n=s.states,o=R(n[t||"normal"]&&n[t||"normal"].animation,e.chart.options.chart.animation),a=s.lineWidth,l=s.opacity;if(e.state!==(t=t||"")&&([e.group,e.markerGroup,e.dataLabelsGroup].forEach((function(i){i&&(e.state&&i.removeClass("highcharts-series-"+e.state),t&&i.addClass("highcharts-series-"+t))})),e.state=t,!e.chart.styledMode)){if(n[t]&&!1===n[t].enabled)return;if(t&&(a=n[t].lineWidth||a+(n[t].lineWidthPlus||0),l=R(n[t].opacity,l)),h&&!h.dashstyle&&D(a))for(let t of[h,...this.zones.map((t=>t.graph))])t?.animate({"stroke-width":a},o);r||[e.group,e.markerGroup,e.dataLabelsGroup,e.labelBySeries].forEach((function(t){t&&t.animate({opacity:l},o)}))}i&&r&&e.points&&e.setAllPointsToState(t||void 0)}setAllPointsToState(t){this.points.forEach((function(i){i.setState&&i.setState(t)}))}setVisible(t,i){let e=this,s=e.chart,h=s.options.chart.ignoreHiddenSeries;e.visible=t=e.options.visible=e.userOptions.visible=void 0===t?!e.visible:t;let r=t?"show":"hide";["group","dataLabelsGroup","markerGroup","tracker","tt"].forEach((t=>{e[t]?.[r]()})),(s.hoverSeries===e||s.hoverPoint?.series===e)&&e.onMouseOut(),e.legendItem&&s.legend.colorizeItem(e,t),e.isDirty=!0,e.options.stacking&&s.series.forEach((t=>{t.options.stacking&&t.visible&&(t.isDirty=!0)})),e.linkedSeries.forEach((i=>{i.setVisible(t,!1)})),h&&(s.isDirtyBox=!0),j(e,r),!1!==i&&s.redraw()}show(){this.setVisible(!0)}hide(){this.setVisible(!1)}select(t){this.selected=t=this.options.selected=void 0===t?!this.selected:t,this.checkbox&&(this.checkbox.checked=t),j(this,t?"select":"unselect")}shouldShowTooltip(t,i,e={}){return e.series=this,e.visiblePlotOnly=!0,this.chart.isInsidePlot(t,i,e)}drawLegendSymbol(t,i){h[this.options.legendSymbol||"rectangle"]?.call(this,t,i)}}return X.defaultOptions=n,X.types=o.seriesTypes,X.registerType=o.registerSeriesType,L(X.prototype,{axisTypes:["xAxis","yAxis"],coll:"series",colorCounter:0,directTouch:!1,invertible:!0,isCartesian:!0,kdAxisArray:["clientX","plotY"],parallelArrays:["x","y"],pointClass:r,requireSorting:!0,sorted:!0}),o.series=X,X})),e(i,"Core/Legend/Legend.js",[i["Core/Animation/AnimationUtilities.js"],i["Core/Foundation.js"],i["Core/Globals.js"],i["Core/Series/Series.js"],i["Core/Series/Point.js"],i["Core/Renderer/RendererUtilities.js"],i["Core/Templating.js"],i["Core/Utilities.js"]],(function(t,i,e,s,h,r,n,o){var a;let{animObject:l,setAnimation:c}=t,{registerEventOptions:d}=i,{composed:u,marginNames:f}=e,{distribute:p}=r,{format:g}=n,{addEvent:m,createElement:b,css:x,defined:v,discardElement:y,find:M,fireEvent:w,isNumber:k,merge:S,pick:O,pushUnique:A,relativeLength:L,stableSort:C,syncTimeout:j}=o;class T{constructor(t,i){this.allItems=[],this.initialItemY=0,this.itemHeight=0,this.itemMarginBottom=0,this.itemMarginTop=0,this.itemX=0,this.itemY=0,this.lastItemY=0,this.lastLineHeight=0,this.legendHeight=0,this.legendWidth=0,this.maxItemWidth=0,this.maxLegendWidth=0,this.offsetWidth=0,this.padding=0,this.pages=[],this.symbolHeight=0,this.symbolWidth=0,this.titleHeight=0,this.totalItemWidth=0,this.widthOption=0,this.chart=t,this.setOptions(i),i.enabled&&(this.render(),d(this,i),m(this.chart,"endResize",(function(){this.legend.positionCheckboxes()}))),m(this.chart,"render",(()=>{this.options.enabled&&this.proximate&&(this.proximatePositions(),this.positionItems())}))}setOptions(t){let i=O(t.padding,8);this.options=t,this.chart.styledMode||(this.itemStyle=t.itemStyle,this.itemHiddenStyle=S(this.itemStyle,t.itemHiddenStyle)),this.itemMarginTop=t.itemMarginTop,this.itemMarginBottom=t.itemMarginBottom,this.padding=i,this.initialItemY=i-5,this.symbolWidth=O(t.symbolWidth,16),this.pages=[],this.proximate="proximate"===t.layout&&!this.chart.inverted,this.baseline=void 0}update(t,i){let e=this.chart;this.setOptions(S(!0,this.options,t)),"events"in this.options&&d(this,this.options),this.destroy(),e.isDirtyLegend=e.isDirtyBox=!0,O(i,!0)&&e.redraw(),w(this,"afterUpdate",{redraw:i})}colorizeItem(t,i){let{area:e,group:s,label:h,line:r,symbol:n}=t.legendItem||{};if(s?.[i?"removeClass":"addClass"]("highcharts-legend-item-hidden"),!this.chart.styledMode){let{itemHiddenStyle:s={}}=this,o=s.color,{fillColor:a,fillOpacity:l,lineColor:c,marker:d}=t.options,u=t=>(!i&&(t.fill&&(t.fill=o),t.stroke&&(t.stroke=o)),t);h?.css(S(i?this.itemStyle:s)),r?.attr(u({stroke:c||t.color})),n&&n.attr(u(d&&n.isMarker?t.pointAttribs():{fill:t.color})),e?.attr(u({fill:a||t.color,"fill-opacity":a?1:l??.75}))}w(this,"afterColorizeItem",{item:t,visible:i})}positionItems(){this.allItems.forEach(this.positionItem,this),this.chart.isResizing||this.positionCheckboxes()}positionItem(t){let{group:i,x:e=0,y:s=0}=t.legendItem||{},h=this.options,r=h.symbolPadding,n=!h.rtl,o=t.checkbox;if(i&&i.element){let h={translateX:n?e:this.legendWidth-e-2*r-4,translateY:s};i[v(i.translateY)?"animate":"attr"](h,void 0,(()=>{w(this,"afterPositionItem",{item:t})}))}o&&(o.x=e,o.y=s)}destroyItem(t){let i=t.checkbox,e=t.legendItem||{};for(let t of["group","label","line","symbol"])e[t]&&(e[t]=e[t].destroy());i&&y(i),t.legendItem=void 0}destroy(){for(let t of this.getAllItems())this.destroyItem(t);for(let t of["clipRect","up","down","pager","nav","box","title","group"])this[t]&&(this[t]=this[t].destroy());this.display=null}positionCheckboxes(){let t,i=this.group&&this.group.alignAttr,e=this.clipHeight||this.legendHeight,s=this.titleHeight;i&&(t=i.translateY,this.allItems.forEach((function(h){let r,n=h.checkbox;n&&(r=t+s+n.y+(this.scrollOffset||0)+3,x(n,{left:i.translateX+h.checkboxOffset+n.x-20+"px",top:r+"px",display:this.proximate||r>t-6&&r<t+e-6?"":"none"}))}),this))}renderTitle(){let t,i=this.options,e=this.padding,s=i.title,h=0;s.text&&(this.title||(this.title=this.chart.renderer.label(s.text,e-3,e-4,void 0,void 0,void 0,i.useHTML,void 0,"legend-title").attr({zIndex:1}),this.chart.styledMode||this.title.css(s.style),this.title.add(this.group)),s.width||this.title.css({width:this.maxLegendWidth+"px"}),h=(t=this.title.getBBox()).height,this.offsetWidth=t.width,this.contentGroup.attr({translateY:h})),this.titleHeight=h}setText(t){let i=this.options;t.legendItem.label.attr({text:i.labelFormat?g(i.labelFormat,t,this.chart):i.labelFormatter.call(t)})}renderItem(t){let i=t.legendItem=t.legendItem||{},e=this.chart,s=e.renderer,h=this.options,r=this.symbolWidth,n=h.symbolPadding||0,o=this.itemStyle,a=this.itemHiddenStyle,l="horizontal"===h.layout?O(h.itemDistance,20):0,c=!h.rtl,d=!t.series,u=!d&&t.series.drawLegendSymbol?t.series:t,f=u.options,p=!!this.createCheckboxForItem&&f&&f.showCheckbox,g=h.useHTML,m=t.options.className,b=i.label,x=r+n+l+(p?20:0);!b&&(i.group=s.g("legend-item").addClass("highcharts-"+u.type+"-series highcharts-color-"+t.colorIndex+(m?" "+m:"")+(d?" highcharts-series-"+t.index:"")).attr({zIndex:1}).add(this.scrollGroup),i.label=b=s.text("",c?r+n:-n,this.baseline||0,g),e.styledMode||b.css(S(t.visible?o:a)),b.attr({align:c?"left":"right",zIndex:2}).add(i.group),!this.baseline&&(this.fontMetrics=s.fontMetrics(b),this.baseline=this.fontMetrics.f+3+this.itemMarginTop,b.attr("y",this.baseline),this.symbolHeight=O(h.symbolHeight,this.fontMetrics.f),h.squareSymbol&&(this.symbolWidth=O(h.symbolWidth,Math.max(this.symbolHeight,16)),x=this.symbolWidth+n+l+(p?20:0),c&&b.attr("x",this.symbolWidth+n))),u.drawLegendSymbol(this,t),this.setItemEvents&&this.setItemEvents(t,b,g)),p&&!t.checkbox&&this.createCheckboxForItem&&this.createCheckboxForItem(t),this.colorizeItem(t,t.visible),(e.styledMode||!o.width)&&b.css({width:(h.itemWidth||this.widthOption||e.spacingBox.width)-x+"px"}),this.setText(t);let v=b.getBBox(),y=this.fontMetrics&&this.fontMetrics.h||0;t.itemWidth=t.checkboxOffset=h.itemWidth||i.labelWidth||v.width+x,this.maxItemWidth=Math.max(this.maxItemWidth,t.itemWidth),this.totalItemWidth+=t.itemWidth,this.itemHeight=t.itemHeight=Math.round(i.labelHeight||(v.height>1.5*y?v.height:y))}layoutItem(t){let i=this.options,e=this.padding,s="horizontal"===i.layout,h=t.itemHeight,r=this.itemMarginBottom,n=this.itemMarginTop,o=s?O(i.itemDistance,20):0,a=this.maxLegendWidth,l=i.alignColumns&&this.totalItemWidth>a?this.maxItemWidth:t.itemWidth,c=t.legendItem||{};s&&this.itemX-e+l>a&&(this.itemX=e,this.lastLineHeight&&(this.itemY+=n+this.lastLineHeight+r),this.lastLineHeight=0),this.lastItemY=n+this.itemY+r,this.lastLineHeight=Math.max(h,this.lastLineHeight),c.x=this.itemX,c.y=this.itemY,s?this.itemX+=l:(this.itemY+=n+h+r,this.lastLineHeight=h),this.offsetWidth=this.widthOption||Math.max((s?this.itemX-e-(t.checkbox?0:o):l)+e,this.offsetWidth)}getAllItems(){let t=[];return this.chart.series.forEach((function(i){let e=i&&i.options;i&&O(e.showInLegend,!v(e.linkedTo)&&void 0,!0)&&(t=t.concat((i.legendItem||{}).labels||("point"===e.legendType?i.data:i)))})),w(this,"afterGetAllItems",{allItems:t}),t}getAlignment(){let t=this.options;return this.proximate?t.align.charAt(0)+"tv":t.floating?"":t.align.charAt(0)+t.verticalAlign.charAt(0)+t.layout.charAt(0)}adjustMargins(t,i){let e=this.chart,s=this.options,h=this.getAlignment();h&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/].forEach((function(r,n){r.test(h)&&!v(t[n])&&(e[f[n]]=Math.max(e[f[n]],e.legend[(n+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][n]*s[n%2?"x":"y"]+O(s.margin,12)+i[n]+(e.titleOffset[n]||0)))}))}proximatePositions(){let t,i=this.chart,e=[],s="left"===this.options.align;for(let h of(this.allItems.forEach((function(t){let h,r,n,o,a=s;t.yAxis&&(t.xAxis.options.reversed&&(a=!a),t.points&&(h=M(a?t.points:t.points.slice(0).reverse(),(function(t){return k(t.plotY)}))),r=this.itemMarginTop+t.legendItem.label.getBBox().height+this.itemMarginBottom,o=t.yAxis.top-i.plotTop,n=t.visible?(h?h.plotY:t.yAxis.height)+(o-.3*r):o+t.yAxis.height,e.push({target:n,size:r,item:t}))}),this),p(e,i.plotHeight)))t=h.item.legendItem||{},k(h.pos)&&(t.y=i.plotTop-i.spacing[0]+h.pos)}render(){let t,i,e,s,h=this.chart,r=h.renderer,n=this.options,o=this.padding,a=this.getAllItems(),l=this.group,c=this.box;this.itemX=o,this.itemY=this.initialItemY,this.offsetWidth=0,this.lastItemY=0,this.widthOption=L(n.width,h.spacingBox.width-o),s=h.spacingBox.width-2*o-n.x,["rm","lm"].indexOf(this.getAlignment().substring(0,2))>-1&&(s/=2),this.maxLegendWidth=this.widthOption||s,l||(this.group=l=r.g("legend").addClass(n.className||"").attr({zIndex:7}).add(),this.contentGroup=r.g().attr({zIndex:1}).add(l),this.scrollGroup=r.g().add(this.contentGroup)),this.renderTitle(),C(a,((t,i)=>(t.options&&t.options.legendIndex||0)-(i.options&&i.options.legendIndex||0))),n.reversed&&a.reverse(),this.allItems=a,this.display=t=!!a.length,this.lastLineHeight=0,this.maxItemWidth=0,this.totalItemWidth=0,this.itemHeight=0,a.forEach(this.renderItem,this),a.forEach(this.layoutItem,this),i=(this.widthOption||this.offsetWidth)+o,e=this.lastItemY+this.lastLineHeight+this.titleHeight,e=this.handleOverflow(e)+o,c||(this.box=c=r.rect().addClass("highcharts-legend-box").attr({r:n.borderRadius}).add(l)),h.styledMode||c.attr({stroke:n.borderColor,"stroke-width":n.borderWidth||0,fill:n.backgroundColor||"none"}).shadow(n.shadow),i>0&&e>0&&c[c.placed?"animate":"attr"](c.crisp.call({},{x:0,y:0,width:i,height:e},c.strokeWidth())),l[t?"show":"hide"](),h.styledMode&&"none"===l.getStyle("display")&&(i=e=0),this.legendWidth=i,this.legendHeight=e,t&&this.align(),this.proximate||this.positionItems(),w(this,"afterRender")}align(t=this.chart.spacingBox){let i=this.chart,e=this.options,s=t.y;/(lth|ct|rth)/.test(this.getAlignment())&&i.titleOffset[0]>0?s+=i.titleOffset[0]:/(lbh|cb|rbh)/.test(this.getAlignment())&&i.titleOffset[2]>0&&(s-=i.titleOffset[2]),s!==t.y&&(t=S(t,{y:s})),i.hasRendered||(this.group.placed=!1),this.group.align(S(e,{width:this.legendWidth,height:this.legendHeight,verticalAlign:this.proximate?"top":e.verticalAlign}),!0,t)}handleOverflow(t){let i,e,s,h=this,r=this.chart,n=r.renderer,o=this.options,a=o.y,l="top"===o.verticalAlign,c=this.padding,d=o.maxHeight,u=o.navigation,f=O(u.animation,!0),p=u.arrowSize||12,g=this.pages,m=this.allItems,b=function(t){"number"==typeof t?M.attr({height:t}):M&&(h.clipRect=M.destroy(),h.contentGroup.clip()),h.contentGroup.div&&(h.contentGroup.div.style.clip=t?"rect("+c+"px,9999px,"+(c+t)+"px,0)":"auto")},x=function(t){return h[t]=n.circle(0,0,1.3*p).translate(p/2,p/2).add(y),r.styledMode||h[t].attr("fill","rgba(0,0,0,0.0001)"),h[t]},v=r.spacingBox.height+(l?-a:a)-c,y=this.nav,M=this.clipRect;return"horizontal"!==o.layout||"middle"===o.verticalAlign||o.floating||(v/=2),d&&(v=Math.min(v,d)),g.length=0,t&&v>0&&t>v&&!1!==u.enabled?(this.clipHeight=i=Math.max(v-20-this.titleHeight-c,0),this.currentPage=O(this.currentPage,1),this.fullHeight=t,m.forEach(((t,h)=>{let r=(s=t.legendItem||{}).y||0,n=Math.round(s.label.getBBox().height),o=g.length;(!o||r-g[o-1]>i&&(e||r)!==g[o-1])&&(g.push(e||r),o++),s.pageIx=o-1,e&&((m[h-1].legendItem||{}).pageIx=o-1),h===m.length-1&&r+n-g[o-1]>i&&r>g[o-1]&&(g.push(r),s.pageIx=o),r!==e&&(e=r)})),M||(M=h.clipRect=n.clipRect(0,c-2,9999,0),h.contentGroup.clip(M)),b(i),y||(this.nav=y=n.g().attr({zIndex:1}).add(this.group),this.up=n.symbol("triangle",0,0,p,p).add(y),x("upTracker").on("click",(function(){h.scroll(-1,f)})),this.pager=n.text("",15,10).addClass("highcharts-legend-navigation"),!r.styledMode&&u.style&&this.pager.css(u.style),this.pager.add(y),this.down=n.symbol("triangle-down",0,0,p,p).add(y),x("downTracker").on("click",(function(){h.scroll(1,f)}))),h.scroll(0),t=v):y&&(b(),this.nav=y.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0),t}scroll(t,i){let e=this.chart,s=this.pages,h=s.length,r=this.clipHeight,n=this.options.navigation,o=this.pager,a=this.padding,d=this.currentPage+t;d>h&&(d=h),d>0&&(void 0!==i&&c(i,e),this.nav.attr({translateX:a,translateY:r+this.padding+7+this.titleHeight,visibility:"inherit"}),[this.up,this.upTracker].forEach((function(t){t.attr({class:1===d?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})})),o.attr({text:d+"/"+h}),[this.down,this.downTracker].forEach((function(t){t.attr({x:18+this.pager.getBBox().width,class:d===h?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})}),this),e.styledMode||(this.up.attr({fill:1===d?n.inactiveColor:n.activeColor}),this.upTracker.css({cursor:1===d?"default":"pointer"}),this.down.attr({fill:d===h?n.inactiveColor:n.activeColor}),this.downTracker.css({cursor:d===h?"default":"pointer"})),this.scrollOffset=-s[d-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),this.currentPage=d,this.positionCheckboxes(),j((()=>{w(this,"afterScroll",{currentPage:d})}),l(O(i,e.renderer.globalAnimation,!0)).duration))}setItemEvents(t,i,e){let r=this,n=t.legendItem||{},o=r.chart.renderer.boxWrapper,a=t instanceof h,l=t instanceof s,c="highcharts-legend-"+(a?"point":"series")+"-active",d=r.chart.styledMode,u=e?[i,n.symbol]:[n.group],f=i=>{r.allItems.forEach((e=>{t!==e&&[e].concat(e.linkedSeries||[]).forEach((t=>{t.setState(i,!a)}))}))};for(let e of u)e&&e.on("mouseover",(function(){t.visible&&f("inactive"),t.setState("hover"),t.visible&&o.addClass(c),d||i.css(r.options.itemHoverStyle)})).on("mouseout",(function(){r.chart.styledMode||i.css(S(t.visible?r.itemStyle:r.itemHiddenStyle)),f(""),o.removeClass(c),t.setState()})).on("click",(function(i){o.removeClass(c),w(r,"itemClick",{browserEvent:i,legendItem:t},(function(){t.setVisible&&t.setVisible(),f(t.visible?"inactive":"")})),a?t.firePointEvent("legendItemClick",{browserEvent:i}):l&&w(t,"legendItemClick",{browserEvent:i})}))}createCheckboxForItem(t){t.checkbox=b("input",{type:"checkbox",className:"highcharts-legend-checkbox",checked:t.selected,defaultChecked:t.selected},this.options.itemCheckboxStyle,this.chart.container),m(t.checkbox,"click",(function(i){w(t.series||t,"checkboxClick",{checked:i.target.checked,item:t},(function(){t.select()}))}))}}return(a=T||(T={})).compose=function(t){A(u,"Core.Legend")&&m(t,"beforeMargins",(function(){this.legend=new a(this,this.options.legend)}))},T})),e(i,"Core/Chart/Chart.js",[i["Core/Animation/AnimationUtilities.js"],i["Core/Axis/Axis.js"],i["Core/Defaults.js"],i["Core/Templating.js"],i["Core/Foundation.js"],i["Core/Globals.js"],i["Core/Renderer/RendererRegistry.js"],i["Core/Series/Series.js"],i["Core/Series/SeriesRegistry.js"],i["Core/Renderer/SVG/SVGRenderer.js"],i["Core/Time.js"],i["Core/Utilities.js"],i["Core/Renderer/HTML/AST.js"],i["Core/Axis/Tick.js"]],(function(t,i,e,s,h,r,n,o,a,l,c,d,u,f){let{animate:p,animObject:g,setAnimation:m}=t,{defaultOptions:b,defaultTime:x}=e,{numberFormat:v}=s,{registerEventOptions:y}=h,{charts:M,doc:w,marginNames:k,svg:S,win:O}=r,{seriesTypes:A}=a,{addEvent:L,attr:C,createElement:j,css:T,defined:P,diffObjects:E,discardElement:z,erase:D,error:N,extend:I,find:F,fireEvent:R,getStyle:B,isArray:Y,isNumber:G,isObject:X,isString:$,merge:H,objectEach:W,pick:U,pInt:q,relativeLength:V,removeEvent:Z,splat:_,syncTimeout:K,uniqueKey:J}=d;class Q{static chart(t,i,e){return new Q(t,i,e)}constructor(t,i,e){this.sharedClips={};let s=[...arguments];($(t)||t.nodeName)&&(this.renderTo=s.shift()),this.init(s[0],s[1])}setZoomOptions(){let t=this.options.chart,i=t.zooming;this.zooming={...i,type:U(t.zoomType,i.type),key:U(t.zoomKey,i.key),pinchType:U(t.pinchType,i.pinchType),singleTouch:U(t.zoomBySingleTouch,i.singleTouch,!1),resetButton:H(i.resetButton,t.resetZoomButton)}}init(t,i){R(this,"init",{args:arguments},(function(){let e=H(b,t),s=e.chart;this.userOptions=I({},t),this.margin=[],this.spacing=[],this.labelCollectors=[],this.callback=i,this.isResizing=0,this.options=e,this.axes=[],this.series=[],this.time=t.time&&Object.keys(t.time).length?new c(t.time):r.time,this.numberFormatter=s.numberFormatter||v,this.styledMode=s.styledMode,this.hasCartesianSeries=s.showAxes,this.index=M.length,M.push(this),r.chartCount++,y(this,s),this.xAxis=[],this.yAxis=[],this.pointCount=this.colorCounter=this.symbolCounter=0,this.setZoomOptions(),R(this,"afterInit"),this.firstRender()}))}initSeries(t){let i=t.type||this.options.chart.type,e=A[i];e||N(17,!0,this,{missingModuleFor:i});let s=new e;return"function"==typeof s.init&&s.init(this,t),s}setSortedData(){this.getSeriesOrderByLinks().forEach((function(t){t.points||t.data||!t.enabledDataSorting||t.setData(t.options.data,!1)}))}getSeriesOrderByLinks(){return this.series.concat().sort((function(t,i){return t.linkedSeries.length||i.linkedSeries.length?i.linkedSeries.length-t.linkedSeries.length:0}))}orderItems(t,i=0){let e=this[t],s=this.options[t]=_(this.options[t]).slice(),h=this.userOptions[t]=this.userOptions[t]?_(this.userOptions[t]).slice():[];if(this.hasRendered&&(s.splice(i),h.splice(i)),e)for(let t=i,r=e.length;t<r;++t){let i=e[t];i&&(i.index=t,i instanceof o&&(i.name=i.getName()),i.options.isInternal||(s[t]=i.options,h[t]=i.userOptions))}}isInsidePlot(t,i,e={}){let{inverted:s,plotBox:h,plotLeft:r,plotTop:n,scrollablePlotBox:o}=this,{scrollLeft:a=0,scrollTop:l=0}=e.visiblePlotOnly&&this.scrollablePlotArea?.scrollingContainer||{},c=e.series,d=e.visiblePlotOnly&&o||h,u=e.inverted?i:t,f=e.inverted?t:i,p={x:u,y:f,isInsidePlot:!0,options:e};if(!e.ignoreX){let t=c&&(s&&!this.polar?c.yAxis:c.xAxis)||{pos:r,len:1/0},i=e.paneCoordinates?t.pos+u:r+u;i>=Math.max(a+r,t.pos)&&i<=Math.min(a+r+d.width,t.pos+t.len)||(p.isInsidePlot=!1)}if(!e.ignoreY&&p.isInsidePlot){let t=!s&&e.axis&&!e.axis.isXAxis&&e.axis||c&&(s?c.xAxis:c.yAxis)||{pos:n,len:1/0},i=e.paneCoordinates?t.pos+f:n+f;i>=Math.max(l+n,t.pos)&&i<=Math.min(l+n+d.height,t.pos+t.len)||(p.isInsidePlot=!1)}return R(this,"afterIsInsidePlot",p),p.isInsidePlot}redraw(t){R(this,"beforeRedraw");let i,e,s,h,r=this.hasCartesianSeries?this.axes:this.colorAxis||[],n=this.series,o=this.pointer,a=this.legend,l=this.userOptions.legend,c=this.renderer,d=c.isHidden(),u=[],f=this.isDirtyBox,p=this.isDirtyLegend;for(c.rootFontSize=c.boxWrapper.getStyle("font-size"),this.setResponsive&&this.setResponsive(!1),m(!!this.hasRendered&&t,this),d&&this.temporaryDisplay(),this.layOutTitles(!1),s=n.length;s--;)if(((h=n[s]).options.stacking||h.options.centerInCategory)&&(e=!0,h.isDirty)){i=!0;break}if(i)for(s=n.length;s--;)(h=n[s]).options.stacking&&(h.isDirty=!0);n.forEach((function(t){t.isDirty&&("point"===t.options.legendType?("function"==typeof t.updateTotals&&t.updateTotals(),p=!0):l&&(l.labelFormatter||l.labelFormat)&&(p=!0)),t.isDirtyData&&R(t,"updatedData")})),p&&a&&a.options.enabled&&(a.render(),this.isDirtyLegend=!1),e&&this.getStacks(),r.forEach((function(t){t.updateNames(),t.setScale()})),this.getMargins(),r.forEach((function(t){t.isDirty&&(f=!0)})),r.forEach((function(t){let i=t.min+","+t.max;t.extKey!==i&&(t.extKey=i,u.push((function(){R(t,"afterSetExtremes",I(t.eventArgs,t.getExtremes())),delete t.eventArgs}))),(f||e)&&t.redraw()})),f&&this.drawChartBox(),R(this,"predraw"),n.forEach((function(t){(f||t.isDirty)&&t.visible&&t.redraw(),t.isDirtyData=!1})),o&&o.reset(!0),c.draw(),R(this,"redraw"),R(this,"render"),d&&this.temporaryDisplay(!0),u.forEach((function(t){t.call()}))}get(t){let i=this.series;function e(i){return i.id===t||i.options&&i.options.id===t}let s=F(this.axes,e)||F(this.series,e);for(let t=0;!s&&t<i.length;t++)s=F(i[t].points||[],e);return s}getAxes(){let t=this.userOptions;for(let e of(R(this,"getAxes"),["xAxis","yAxis"]))for(let s of t[e]=_(t[e]||{}))new i(this,s,e);R(this,"afterGetAxes")}getSelectedPoints(){return this.series.reduce(((t,i)=>(i.getPointsCollection().forEach((i=>{U(i.selectedStaging,i.selected)&&t.push(i)})),t)),[])}getSelectedSeries(){return this.series.filter((function(t){return t.selected}))}setTitle(t,i,e){this.applyDescription("title",t),this.applyDescription("subtitle",i),this.applyDescription("caption",void 0),this.layOutTitles(e)}applyDescription(t,i){let e=this,s=this.options[t]=H(this.options[t],i),h=this[t];h&&i&&(this[t]=h=h.destroy()),s&&!h&&((h=this.renderer.text(s.text,0,0,s.useHTML).attr({align:s.align,class:"highcharts-"+t,zIndex:s.zIndex||4}).add()).update=function(i,s){e.applyDescription(t,i),e.layOutTitles(s)},this.styledMode||h.css(I("title"===t?{fontSize:this.options.isStock?"1em":"1.2em"}:{},s.style)),this[t]=h)}layOutTitles(t=!0){let i=[0,0,0],e=this.renderer,s=this.spacingBox;["title","subtitle","caption"].forEach((function(t){let h=this[t],r=this.options[t],n=r.verticalAlign||"top",o="title"===t?"top"===n?-3:0:"top"===n?i[0]+2:0;if(h){h.css({width:(r.width||s.width+(r.widthAdjust||0))+"px"});let t=e.fontMetrics(h).b,a=Math.round(h.getBBox(r.useHTML).height);h.align(I({y:"bottom"===n?t:o+t,height:a},r),!1,"spacingBox"),r.floating||("top"===n?i[0]=Math.ceil(i[0]+a):"bottom"===n&&(i[2]=Math.ceil(i[2]+a)))}}),this),i[0]&&"top"===(this.options.title.verticalAlign||"top")&&(i[0]+=this.options.title.margin),i[2]&&"bottom"===this.options.caption.verticalAlign&&(i[2]+=this.options.caption.margin);let h=!this.titleOffset||this.titleOffset.join(",")!==i.join(",");this.titleOffset=i,R(this,"afterLayOutTitles"),!this.isDirtyBox&&h&&(this.isDirtyBox=this.isDirtyLegend=h,this.hasRendered&&t&&this.isDirtyBox&&this.redraw())}getContainerBox(){let t=[].map.call(this.renderTo.children,(t=>{if(t!==this.container){let i=t.style.display;return t.style.display="none",[t,i]}})),i={width:B(this.renderTo,"width",!0)||0,height:B(this.renderTo,"height",!0)||0};return t.filter(Boolean).forEach((([t,i])=>{t.style.display=i})),i}getChartSize(){let t=this.options.chart,i=t.width,e=t.height,s=this.getContainerBox(),h=s.height>1&&!(!this.renderTo.parentElement?.style.height&&"100%"===this.renderTo.style.height);this.chartWidth=Math.max(0,i||s.width||600),this.chartHeight=Math.max(0,V(e,this.chartWidth)||(h?s.height:400)),this.containerBox=s}temporaryDisplay(t){let i,e=this.renderTo;if(t)for(;e&&e.style;)e.hcOrigStyle&&(T(e,e.hcOrigStyle),delete e.hcOrigStyle),e.hcOrigDetached&&(w.body.removeChild(e),e.hcOrigDetached=!1),e=e.parentNode;else for(;e&&e.style&&(w.body.contains(e)||e.parentNode||(e.hcOrigDetached=!0,w.body.appendChild(e)),("none"===B(e,"display",!1)||e.hcOricDetached)&&(e.hcOrigStyle={display:e.style.display,height:e.style.height,overflow:e.style.overflow},i={display:"block",overflow:"hidden"},e!==this.renderTo&&(i.height=0),T(e,i),e.offsetWidth||e.style.setProperty("display","block","important")),(e=e.parentNode)!==w.body););}setClassName(t){this.container.className="highcharts-container "+(t||"")}getContainer(){let t,i=this.options,e=i.chart,s="data-highcharts-chart",h=J(),r=this.renderTo;r||(this.renderTo=r=e.renderTo),$(r)&&(this.renderTo=r=w.getElementById(r)),r||N(13,!0,this);let o=q(C(r,s));G(o)&&M[o]&&M[o].hasRendered&&M[o].destroy(),C(r,s,this.index),r.innerHTML=u.emptyHTML,e.skipClone||r.offsetWidth||this.temporaryDisplay(),this.getChartSize();let a=this.chartHeight,c=this.chartWidth;T(r,{overflow:"hidden"}),this.styledMode||(t=I({position:"relative",overflow:"hidden",width:c+"px",height:a+"px",textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)",userSelect:"none","touch-action":"manipulation",outline:"none",padding:"0px"},e.style||{}));let d=j("div",{id:h},t,r);this.container=d,this.getChartSize(),c===this.chartWidth||(c=this.chartWidth,this.styledMode||T(d,{width:U(e.style?.width,c+"px")})),this.containerBox=this.getContainerBox(),this._cursor=d.style.cursor;let f=e.renderer||!S?n.getRendererType(e.renderer):l;if(this.renderer=new f(d,c,a,void 0,e.forExport,i.exporting&&i.exporting.allowHTML,this.styledMode),m(void 0,this),this.setClassName(e.className),this.styledMode)for(let t in i.defs)this.renderer.definition(i.defs[t]);else this.renderer.setStyle(e.style);this.renderer.chartIndex=this.index,R(this,"afterGetContainer")}getMargins(t){let{spacing:i,margin:e,titleOffset:s}=this;this.resetMargins(),s[0]&&!P(e[0])&&(this.plotTop=Math.max(this.plotTop,s[0]+i[0])),s[2]&&!P(e[2])&&(this.marginBottom=Math.max(this.marginBottom,s[2]+i[2])),this.legend&&this.legend.display&&this.legend.adjustMargins(e,i),R(this,"getMargins"),t||this.getAxisMargins()}getAxisMargins(){let t=this,i=t.axisOffset=[0,0,0,0],e=t.colorAxis,s=t.margin,h=function(t){t.forEach((function(t){t.visible&&t.getOffset()}))};t.hasCartesianSeries?h(t.axes):e&&e.length&&h(e),k.forEach((function(e,h){P(s[h])||(t[e]+=i[h])})),t.setChartSize()}getOptions(){return E(this.userOptions,b)}reflow(t){let i=this,e=i.containerBox,s=i.getContainerBox();delete i.pointer?.chartPosition,!i.isPrinting&&!i.isResizing&&e&&s.width&&((s.width!==e.width||s.height!==e.height)&&(d.clearTimeout(i.reflowTimeout),i.reflowTimeout=K((function(){i.container&&i.setSize(void 0,void 0,!1)}),t?100:0)),i.containerBox=s)}setReflow(){let t=this,i=i=>{t.options?.chart.reflow&&t.hasLoaded&&t.reflow(i)};if("function"==typeof ResizeObserver)new ResizeObserver(i).observe(t.renderTo);else{let t=L(O,"resize",i);L(this,"destroy",t)}}setSize(t,i,e){let s=this,h=s.renderer;s.isResizing+=1,m(e,s);let r=h.globalAnimation;s.oldChartHeight=s.chartHeight,s.oldChartWidth=s.chartWidth,void 0!==t&&(s.options.chart.width=t),void 0!==i&&(s.options.chart.height=i),s.getChartSize();let{chartWidth:n,chartHeight:o,scrollablePixelsX:a=0,scrollablePixelsY:l=0}=s;(s.isDirtyBox||n!==s.oldChartWidth||o!==s.oldChartHeight)&&(s.styledMode||(r?p:T)(s.container,{width:`${n+a}px`,height:`${o+l}px`},r),s.setChartSize(!0),h.setSize(n,o,r),s.axes.forEach((function(t){t.isDirty=!0,t.setScale()})),s.isDirtyLegend=!0,s.isDirtyBox=!0,s.layOutTitles(),s.getMargins(),s.redraw(r),s.oldChartHeight=void 0,R(s,"resize"),setTimeout((()=>{s&&R(s,"endResize")}),g(r).duration)),s.isResizing-=1}setChartSize(t){let i,e,s,h,{chartHeight:r,chartWidth:n,inverted:o,spacing:a,renderer:l}=this,c=this.clipOffset,d=Math[o?"floor":"round"];this.plotLeft=i=Math.round(this.plotLeft),this.plotTop=e=Math.round(this.plotTop),this.plotWidth=s=Math.max(0,Math.round(n-i-this.marginRight)),this.plotHeight=h=Math.max(0,Math.round(r-e-this.marginBottom)),this.plotSizeX=o?h:s,this.plotSizeY=o?s:h,this.spacingBox=l.spacingBox={x:a[3],y:a[0],width:n-a[3]-a[1],height:r-a[0]-a[2]},this.plotBox=l.plotBox={x:i,y:e,width:s,height:h},c&&(this.clipBox={x:d(c[3]),y:d(c[0]),width:d(this.plotSizeX-c[1]-c[3]),height:d(this.plotSizeY-c[0]-c[2])}),t||(this.axes.forEach((function(t){t.setAxisSize(),t.setAxisTranslation()})),l.alignElements()),R(this,"afterSetChartSize",{skipAxes:t})}resetMargins(){R(this,"resetMargins");let t=this,i=t.options.chart,e=i.plotBorderWidth||0,s=e/2;["margin","spacing"].forEach((function(e){let s=i[e],h=X(s)?s:[s,s,s,s];["Top","Right","Bottom","Left"].forEach((function(s,r){t[e][r]=U(i[e+s],h[r])}))})),k.forEach((function(i,e){t[i]=U(t.margin[e],t.spacing[e])})),t.axisOffset=[0,0,0,0],t.clipOffset=[s,s,s,s],t.plotBorderWidth=e}drawChartBox(){let t,i,e,s=this.options.chart,h=this.renderer,r=this.chartWidth,n=this.chartHeight,o=this.styledMode,a=this.plotBGImage,l=s.backgroundColor,c=s.plotBackgroundColor,d=s.plotBackgroundImage,u=this.plotLeft,f=this.plotTop,p=this.plotWidth,g=this.plotHeight,m=this.plotBox,b=this.clipRect,x=this.clipBox,v=this.chartBackground,y=this.plotBackground,M=this.plotBorder,w="animate";v||(this.chartBackground=v=h.rect().addClass("highcharts-background").add(),w="attr"),o?t=i=v.strokeWidth():(i=(t=s.borderWidth||0)+(s.shadow?8:0),e={fill:l||"none"},(t||v["stroke-width"])&&(e.stroke=s.borderColor,e["stroke-width"]=t),v.attr(e).shadow(s.shadow)),v[w]({x:i/2,y:i/2,width:r-i-t%2,height:n-i-t%2,r:s.borderRadius}),w="animate",y||(w="attr",this.plotBackground=y=h.rect().addClass("highcharts-plot-background").add()),y[w](m),!o&&(y.attr({fill:c||"none"}).shadow(s.plotShadow),d&&(a?(d!==a.attr("href")&&a.attr("href",d),a.animate(m)):this.plotBGImage=h.image(d,u,f,p,g).add())),b?b.animate({width:x.width,height:x.height}):this.clipRect=h.clipRect(x),w="animate",M||(w="attr",this.plotBorder=M=h.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add()),o||M.attr({stroke:s.plotBorderColor,"stroke-width":s.plotBorderWidth||0,fill:"none"}),M[w](M.crisp({x:u,y:f,width:p,height:g},-M.strokeWidth())),this.isDirtyBox=!1,R(this,"afterDrawChartBox")}propFromSeries(){let t,i,e,s=this,h=s.options.chart,r=s.options.series;["inverted","angular","polar"].forEach((function(n){for(i=A[h.type],e=h[n]||i&&i.prototype[n],t=r&&r.length;!e&&t--;)(i=A[r[t].type])&&i.prototype[n]&&(e=!0);s[n]=e}))}linkSeries(t){let i=this,e=i.series;e.forEach((function(t){t.linkedSeries.length=0})),e.forEach((function(t){let{linkedTo:e}=t.options;if($(e)){let s;(s=":previous"===e?i.series[t.index-1]:i.get(e))&&s.linkedParent!==t&&(s.linkedSeries.push(t),t.linkedParent=s,s.enabledDataSorting&&t.setDataSortingOptions(),t.visible=U(t.options.visible,s.options.visible,t.visible))}})),R(this,"afterLinkSeries",{isUpdating:t})}renderSeries(){this.series.forEach((function(t){t.translate(),t.render()}))}render(){let t,i=this.axes,e=this.colorAxis,s=this.renderer,h=this.options.chart.axisLayoutRuns||2,r=t=>{t.forEach((t=>{t.visible&&t.render()}))},n=0,o=!0,a=0;for(let t of(this.setTitle(),R(this,"beforeMargins"),this.getStacks?.(),this.getMargins(!0),this.setChartSize(),i)){let{options:i}=t,{labels:e}=i;if(this.hasCartesianSeries&&t.horiz&&t.visible&&e.enabled&&t.series.length&&"colorAxis"!==t.coll&&!this.polar){n=i.tickLength,t.createGroups();let s=new f(t,0,"",!0),h=s.createLabel("x",e);if(s.destroy(),h&&U(e.reserveSpace,!G(i.crossing))&&(n=h.getBBox().height+e.distance+Math.max(i.offset||0,0)),n){h?.destroy();break}}}for(this.plotHeight=Math.max(this.plotHeight-n,0);(o||t||h>1)&&a<h;){let e=this.plotWidth,s=this.plotHeight;for(let e of i)0===a?e.setScale():(e.horiz&&o||!e.horiz&&t)&&e.setTickInterval(!0);0===a?this.getAxisMargins():this.getMargins(),o=e/this.plotWidth>(a?1:1.1),t=s/this.plotHeight>(a?1:1.05),a++}this.drawChartBox(),this.hasCartesianSeries?r(i):e&&e.length&&r(e),this.seriesGroup||(this.seriesGroup=s.g("series-group").attr({zIndex:3}).shadow(this.options.chart.seriesGroupShadow).add()),this.renderSeries(),this.addCredits(),this.setResponsive&&this.setResponsive(),this.hasRendered=!0}addCredits(t){let i=this,e=H(!0,this.options.credits,t);e.enabled&&!this.credits&&(this.credits=this.renderer.text(e.text+(this.mapCredits||""),0,0).addClass("highcharts-credits").on("click",(function(){e.href&&(O.location.href=e.href)})).attr({align:e.position.align,zIndex:8}),i.styledMode||this.credits.css(e.style),this.credits.add().align(e.position),this.credits.update=function(t){i.credits=i.credits.destroy(),i.addCredits(t)})}destroy(){let t,i=this,e=i.axes,s=i.series,h=i.container,n=h&&h.parentNode;for(R(i,"destroy"),i.renderer.forExport?D(M,i):M[i.index]=void 0,r.chartCount--,i.renderTo.removeAttribute("data-highcharts-chart"),Z(i),t=e.length;t--;)e[t]=e[t].destroy();for(this.scroller&&this.scroller.destroy&&this.scroller.destroy(),t=s.length;t--;)s[t]=s[t].destroy();["title","subtitle","chartBackground","plotBackground","plotBGImage","plotBorder","seriesGroup","clipRect","credits","pointer","rangeSelector","legend","resetZoomButton","tooltip","renderer"].forEach((function(t){let e=i[t];e&&e.destroy&&(i[t]=e.destroy())})),h&&(h.innerHTML=u.emptyHTML,Z(h),n&&z(h)),W(i,(function(t,e){delete i[e]}))}firstRender(){let t=this,i=t.options;t.getContainer(),t.resetMargins(),t.setChartSize(),t.propFromSeries(),t.getAxes();let e=Y(i.series)?i.series:[];i.series=[],e.forEach((function(i){t.initSeries(i)})),t.linkSeries(),t.setSortedData(),R(t,"beforeRender"),t.render(),t.pointer?.getChartPosition(),t.renderer.imgCount||t.hasLoaded||t.onload(),t.temporaryDisplay(!0)}onload(){this.callbacks.concat([this.callback]).forEach((function(t){t&&void 0!==this.index&&t.apply(this,[this])}),this),R(this,"load"),R(this,"render"),P(this.index)&&this.setReflow(),this.warnIfA11yModuleNotLoaded(),this.hasLoaded=!0}warnIfA11yModuleNotLoaded(){let{options:t,title:i}=this;!t||this.accessibility||(this.renderer.boxWrapper.attr({role:"img","aria-label":(i&&i.element.textContent||"").replace(/</g,"&lt;")}),t.accessibility&&!1===t.accessibility.enabled||N('Highcharts warning: Consider including the "accessibility.js" module to make your chart more usable for people with disabilities. Set the "accessibility.enabled" option to false to remove this warning. See https://www.highcharts.com/docs/accessibility/accessibility-module.',!1,this))}addSeries(t,i,e){let s,h=this;return t&&(i=U(i,!0),R(h,"addSeries",{options:t},(function(){s=h.initSeries(t),h.isDirtyLegend=!0,h.linkSeries(),s.enabledDataSorting&&s.setData(t.data,!1),R(h,"afterAddSeries",{series:s}),i&&h.redraw(e)}))),s}addAxis(t,i,e,s){return this.createAxis(i?"xAxis":"yAxis",{axis:t,redraw:e,animation:s})}addColorAxis(t,i,e){return this.createAxis("colorAxis",{axis:t,redraw:i,animation:e})}createAxis(t,e){let s=new i(this,e.axis,t);return U(e.redraw,!0)&&this.redraw(e.animation),s}showLoading(t){let i=this,e=i.options,s=e.loading,h=function(){r&&T(r,{left:i.plotLeft+"px",top:i.plotTop+"px",width:i.plotWidth+"px",height:i.plotHeight+"px"})},r=i.loadingDiv,n=i.loadingSpan;r||(i.loadingDiv=r=j("div",{className:"highcharts-loading highcharts-loading-hidden"},null,i.container)),n||(i.loadingSpan=n=j("span",{className:"highcharts-loading-inner"},null,r),L(i,"redraw",h)),r.className="highcharts-loading",u.setElementHTML(n,U(t,e.lang.loading,"")),i.styledMode||(T(r,I(s.style,{zIndex:10})),T(n,s.labelStyle),i.loadingShown||(T(r,{opacity:0,display:""}),p(r,{opacity:s.style.opacity||.5},{duration:s.showDuration||0}))),i.loadingShown=!0,h()}hideLoading(){let t=this.options,i=this.loadingDiv;i&&(i.className="highcharts-loading highcharts-loading-hidden",this.styledMode||p(i,{opacity:0},{duration:t.loading.hideDuration||100,complete:function(){T(i,{display:"none"})}})),this.loadingShown=!1}update(t,i,e,s){let h,r,n,o=this,a={credits:"addCredits",title:"setTitle",subtitle:"setSubtitle",caption:"setCaption"},l=t.isResponsiveOptions,d=[];R(o,"update",{options:t}),l||o.setResponsive(!1,!0),t=E(t,o.options),o.userOptions=H(o.userOptions,t);let u=t.chart;u&&(H(!0,o.options.chart,u),this.setZoomOptions(),"className"in u&&o.setClassName(u.className),("inverted"in u||"polar"in u||"type"in u)&&(o.propFromSeries(),h=!0),"alignTicks"in u&&(h=!0),"events"in u&&y(this,u),W(u,(function(t,i){-1!==o.propsRequireUpdateSeries.indexOf("chart."+i)&&(r=!0),-1!==o.propsRequireDirtyBox.indexOf(i)&&(o.isDirtyBox=!0),-1===o.propsRequireReflow.indexOf(i)||(o.isDirtyBox=!0,l||(n=!0))})),!o.styledMode&&u.style&&o.renderer.setStyle(o.options.chart.style||{})),!o.styledMode&&t.colors&&(this.options.colors=t.colors),t.time&&(this.time===x&&(this.time=new c(t.time)),H(!0,o.options.time,t.time)),W(t,(function(i,e){o[e]&&"function"==typeof o[e].update?o[e].update(i,!1):"function"==typeof o[a[e]]?o[a[e]](i):"colors"!==e&&-1===o.collectionsWithUpdate.indexOf(e)&&H(!0,o.options[e],t[e]),"chart"!==e&&-1!==o.propsRequireUpdateSeries.indexOf(e)&&(r=!0)})),this.collectionsWithUpdate.forEach((function(i){t[i]&&(_(t[i]).forEach((function(t,s){let h,r=P(t.id);r&&(h=o.get(t.id)),!h&&o[i]&&(h=o[i][U(t.index,s)])&&(r&&P(h.options.id)||h.options.isInternal)&&(h=void 0),h&&h.coll===i&&(h.update(t,!1),e&&(h.touched=!0)),!h&&e&&o.collectionsWithInit[i]&&(o.collectionsWithInit[i][0].apply(o,[t].concat(o.collectionsWithInit[i][1]||[]).concat([!1])).touched=!0)})),e&&o[i].forEach((function(t){t.touched||t.options.isInternal?delete t.touched:d.push(t)})))})),d.forEach((function(t){t.chart&&t.remove&&t.remove(!1)})),h&&o.axes.forEach((function(t){t.update({},!1)})),r&&o.getSeriesOrderByLinks().forEach((function(t){t.chart&&t.update({},!1)}),this);let f=u&&u.width,p=u&&($(u.height)?V(u.height,f||o.chartWidth):u.height);n||G(f)&&f!==o.chartWidth||G(p)&&p!==o.chartHeight?o.setSize(f,p,s):U(i,!0)&&o.redraw(s),R(o,"afterUpdate",{options:t,redraw:i,animation:s})}setSubtitle(t,i){this.applyDescription("subtitle",t),this.layOutTitles(i)}setCaption(t,i){this.applyDescription("caption",t),this.layOutTitles(i)}showResetZoom(){let t=this,i=b.lang,e=t.zooming.resetButton,s=e.theme,h="chart"===e.relativeTo||"spacingBox"===e.relativeTo?null:"plotBox";function r(){t.zoomOut()}R(this,"beforeShowResetZoom",null,(function(){t.resetZoomButton=t.renderer.button(i.resetZoom,null,null,r,s).attr({align:e.position.align,title:i.resetZoomTitle}).addClass("highcharts-reset-zoom").add().align(e.position,!1,h)})),R(this,"afterShowResetZoom")}zoomOut(){R(this,"selection",{resetSelection:!0},(()=>this.transform({reset:!0,trigger:"zoom"})))}pan(t,i){let e=this,s="object"==typeof i?i:{enabled:i,type:"x"},h=s.type,r=h&&e[{x:"xAxis",xy:"axes",y:"yAxis"}[h]].filter((t=>t.options.panningEnabled&&!t.options.isInternal)),n=e.options.chart;n?.panning&&(n.panning=s),R(this,"pan",{originalEvent:t},(()=>{e.transform({axes:r,event:t,to:{x:t.chartX-(e.mouseDownX||0),y:t.chartY-(e.mouseDownY||0)},trigger:"pan"}),T(e.container,{cursor:"move"})}))}transform(t){let i,e,{axes:s=this.axes,event:h,from:r={},reset:n,selection:o,to:a={},trigger:l}=t,{inverted:c}=this,d=!1;for(let t of(this.hoverPoints?.forEach((t=>t.setState())),s)){let{horiz:s,len:u,minPointOffset:f=0,options:p,reversed:g}=t,m=s?"width":"height",b=s?"x":"y",x=U(a[m],t.len),v=U(r[m],t.len),y=10>Math.abs(x)?1:x/v,M=(r[b]||0)+v/2-t.pos,w=M-((a[b]??t.pos)+x/2-t.pos)/y,k=g&&!c||!g&&c?-1:1;if(!n&&(M<0||M>t.len))continue;let S=t.toValue(w,!0)+(o||t.isOrdinal?0:f*k),O=t.toValue(w+u/y,!0)-(o||t.isOrdinal?0:f*k||0),A=t.allExtremes;if(S>O&&([S,O]=[O,S]),1===y&&!n&&"yAxis"===t.coll&&!A){for(let i of t.series){let t=i.getExtremes(i.getProcessedData(!0).yData,!0);A??(A={dataMin:Number.MAX_VALUE,dataMax:-Number.MAX_VALUE}),G(t.dataMin)&&G(t.dataMax)&&(A.dataMin=Math.min(t.dataMin,A.dataMin),A.dataMax=Math.max(t.dataMax,A.dataMax))}t.allExtremes=A}let{dataMin:L,dataMax:C,min:j,max:T}=I(t.getExtremes(),A||{}),E=L??p.min,z=C??p.max,D=O-S,N=t.categories?0:Math.min(D,z-E),F=E-N*(P(p.min)?0:p.minPadding),R=z+N*(P(p.max)?0:p.maxPadding),B=t.allowZoomOutside||1===y||"zoom"!==l&&y>1,Y=Math.min(p.min??F,F,B?j:F),X=Math.max(p.max??R,R,B?T:R);(!t.isOrdinal||t.options.overscroll||1!==y||n)&&(S<Y&&(S=Y,y>=1&&(O=S+D)),O>X&&(O=X,y>=1&&(S=O-D)),(n||t.series.length&&(S!==j||O!==T)&&S>=Y&&O<=X)&&(o?o[t.coll].push({axis:t,min:S,max:O}):(t.isPanning="zoom"!==l,t.isPanning&&(e=!0),t.setExtremes(n?void 0:S,n?void 0:O,!1,!1,{move:w,trigger:l,scale:y}),!n&&(S>Y||O<X)&&"mousewheel"!==l&&(i=!0)),d=!0),h&&(this[s?"mouseDownX":"mouseDownY"]=h[s?"chartX":"chartY"]))}return d&&(o?R(this,"selection",o,(()=>{delete t.selection,t.trigger="zoom",this.transform(t)})):(!i||e||this.resetZoomButton?!i&&this.resetZoomButton&&(this.resetZoomButton=this.resetZoomButton.destroy()):this.showResetZoom(),this.redraw("zoom"===l&&(this.options.chart.animation??this.pointCount<100)))),d}}return I(Q.prototype,{callbacks:[],collectionsWithInit:{xAxis:[Q.prototype.addAxis,[!0]],yAxis:[Q.prototype.addAxis,[!1]],series:[Q.prototype.addSeries]},collectionsWithUpdate:["xAxis","yAxis","series"],propsRequireDirtyBox:["backgroundColor","borderColor","borderWidth","borderRadius","plotBackgroundColor","plotBackgroundImage","plotBorderColor","plotBorderWidth","plotShadow","shadow"],propsRequireReflow:["margin","marginTop","marginRight","marginBottom","marginLeft","spacing","spacingTop","spacingRight","spacingBottom","spacingLeft"],propsRequireUpdateSeries:["chart.inverted","chart.polar","chart.ignoreHiddenSeries","chart.type","colors","plotOptions","time","tooltip"]}),Q})),e(i,"Extensions/ScrollablePlotArea.js",[i["Core/Animation/AnimationUtilities.js"],i["Core/Globals.js"],i["Core/Renderer/RendererRegistry.js"],i["Core/Utilities.js"]],(function(t,i,e,s){let{stop:h}=t,{composed:r}=i,{addEvent:n,createElement:o,css:a,defined:l,merge:c,pushUnique:d}=s;function u(){let t=this.scrollablePlotArea;(this.scrollablePixelsX||this.scrollablePixelsY)&&!t&&(this.scrollablePlotArea=t=new p(this)),t?.applyFixed()}function f(){this.chart.scrollablePlotArea&&(this.chart.scrollablePlotArea.isDirty=!0)}class p{static compose(t,i,e){d(r,this.compose)&&(n(t,"afterInit",f),n(i,"afterSetChartSize",(t=>this.afterSetSize(t.target,t))),n(i,"render",u),n(e,"show",f))}static afterSetSize(t,i){let e,s,h,{minWidth:r,minHeight:n}=t.options.chart.scrollablePlotArea||{},{clipBox:o,plotBox:a,inverted:d,renderer:u}=t;if(!u.forExport&&(r?(t.scrollablePixelsX=e=Math.max(0,r-t.chartWidth),e&&(t.scrollablePlotBox=c(t.plotBox),a.width=t.plotWidth+=e,o[d?"height":"width"]+=e,h=!0)):n&&(t.scrollablePixelsY=s=Math.max(0,n-t.chartHeight),l(s)&&(t.scrollablePlotBox=c(t.plotBox),a.height=t.plotHeight+=s,o[d?"width":"height"]+=s,h=!1)),l(h)&&!i.skipAxes))for(let i of t.axes)i.horiz===h&&(i.setAxisSize(),i.setAxisTranslation())}constructor(t){let i,s=t.options.chart,h=e.getRendererType(),r=s.scrollablePlotArea||{},l=this.moveFixedElements.bind(this),c={WebkitOverflowScrolling:"touch",overflowX:"hidden",overflowY:"hidden"};t.scrollablePixelsX&&(c.overflowX="auto"),t.scrollablePixelsY&&(c.overflowY="auto"),this.chart=t;let d=this.parentDiv=o("div",{className:"highcharts-scrolling-parent"},{position:"relative"},t.renderTo),u=this.scrollingContainer=o("div",{className:"highcharts-scrolling"},c,d),f=this.innerContainer=o("div",{className:"highcharts-inner-container"},void 0,u),p=this.fixedDiv=o("div",{className:"highcharts-fixed"},{position:"absolute",overflow:"hidden",pointerEvents:"none",zIndex:(s.style?.zIndex||0)+2,top:0},void 0,!0),g=this.fixedRenderer=new h(p,t.chartWidth,t.chartHeight,s.style);this.mask=g.path().attr({fill:s.backgroundColor||"#fff","fill-opacity":r.opacity??.85,zIndex:-1}).addClass("highcharts-scrollable-mask").add(),u.parentNode.insertBefore(p,u),a(t.renderTo,{overflow:"visible"}),n(t,"afterShowResetZoom",l),n(t,"afterApplyDrilldown",l),n(t,"afterLayOutTitles",l),n(u,"scroll",(()=>{let{pointer:e,hoverPoint:s}=t;e&&(delete e.chartPosition,s&&(i=s),e.runPointActions(void 0,i,!0))})),f.appendChild(t.container)}applyFixed(){let{chart:t,fixedRenderer:i,isDirty:e,scrollingContainer:s}=this,{axisOffset:r,chartWidth:n,chartHeight:o,container:c,plotHeight:d,plotLeft:u,plotTop:f,plotWidth:p,scrollablePixelsX:g=0,scrollablePixelsY:m=0}=t,{scrollPositionX:b=0,scrollPositionY:x=0}=t.options.chart.scrollablePlotArea||{},v=n+g,y=o+m;i.setSize(n,o),(e??!0)&&(this.isDirty=!1,this.moveFixedElements()),h(t.container),a(c,{width:`${v}px`,height:`${y}px`}),t.renderer.boxWrapper.attr({width:v,height:y,viewBox:[0,0,v,y].join(" ")}),t.chartBackground?.attr({width:v,height:y}),a(s,{width:`${n}px`,height:`${o}px`}),l(e)||(s.scrollLeft=g*b,s.scrollTop=m*x);let M=f-r[0]-1,w=u-r[3]-1,k=f+d+r[2]+1,S=u+p+r[1]+1,O=u+p-g,A=f+d-m,L=[["M",0,0]];g?L=[["M",0,M],["L",u-1,M],["L",u-1,k],["L",0,k],["Z"],["M",O,M],["L",n,M],["L",n,k],["L",O,k],["Z"]]:m&&(L=[["M",w,0],["L",w,f-1],["L",S,f-1],["L",S,0],["Z"],["M",w,A],["L",w,o],["L",S,o],["L",S,A],["Z"]]),"adjustHeight"!==t.redrawTrigger&&this.mask.attr({d:L})}moveFixedElements(){let t,{container:i,inverted:e,scrollablePixelsX:s,scrollablePixelsY:h}=this.chart,r=this.fixedRenderer,n=p.fixedSelectors;for(let o of(s&&!e?t=".highcharts-yaxis":s&&e||h&&!e?t=".highcharts-xaxis":h&&e&&(t=".highcharts-yaxis"),t&&n.push(`${t}:not(.highcharts-radial-axis)`,`${t}-labels:not(.highcharts-radial-axis-labels)`),n))[].forEach.call(i.querySelectorAll(o),(t=>{(t.namespaceURI===r.SVG_NS?r.box:r.box.parentNode).appendChild(t),t.style.pointerEvents="auto"}))}}return p.fixedSelectors=[".highcharts-breadcrumbs-group",".highcharts-contextbutton",".highcharts-caption",".highcharts-credits",".highcharts-drillup-button",".highcharts-legend",".highcharts-legend-checkbox",".highcharts-navigator-series",".highcharts-navigator-xaxis",".highcharts-navigator-yaxis",".highcharts-navigator",".highcharts-range-selector-group",".highcharts-reset-zoom",".highcharts-scrollbar",".highcharts-subtitle",".highcharts-title"],p})),e(i,"Core/Axis/Stacking/StackItem.js",[i["Core/Templating.js"],i["Core/Series/SeriesRegistry.js"],i["Core/Utilities.js"]],(function(t,i,e){let{format:s}=t,{series:h}=i,{destroyObjectProperties:r,fireEvent:n,isNumber:o,pick:a}=e;return class{constructor(t,i,e,s,h){let r=t.chart.inverted,n=t.reversed;this.axis=t;let o=this.isNegative=!!e!=!!n;this.options=i=i||{},this.x=s,this.total=null,this.cumulative=null,this.points={},this.hasValidPoints=!1,this.stack=h,this.leftCliff=0,this.rightCliff=0,this.alignOptions={align:i.align||(r?o?"left":"right":"center"),verticalAlign:i.verticalAlign||(r?"middle":o?"bottom":"top"),y:i.y,x:i.x},this.textAlign=i.textAlign||(r?o?"right":"left":"center")}destroy(){r(this,this.axis)}render(t){let i=this.axis.chart,e=this.options,h=e.format,r=h?s(h,this,i):e.formatter.call(this);if(this.label)this.label.attr({text:r,visibility:"hidden"});else{this.label=i.renderer.label(r,null,void 0,e.shape,void 0,void 0,e.useHTML,!1,"stack-labels");let s={r:e.borderRadius||0,text:r,padding:a(e.padding,5),visibility:"hidden"};i.styledMode||(s.fill=e.backgroundColor,s.stroke=e.borderColor,s["stroke-width"]=e.borderWidth,this.label.css(e.style||{})),this.label.attr(s),this.label.added||this.label.add(t)}this.label.labelrank=i.plotSizeY,n(this,"afterRender")}setOffset(t,i,e,s,r,l){let{alignOptions:c,axis:d,label:u,options:f,textAlign:p}=this,g=d.chart,m=this.getStackBox({xOffset:t,width:i,boxBottom:e,boxTop:s,defaultX:r,xAxis:l}),{verticalAlign:b}=c;if(u&&m){let t,i=u.getBBox(void 0,0),e=u.padding,s="justify"===a(f.overflow,"justify");c.x=f.x||0,c.y=f.y||0;let{x:r,y:n}=this.adjustStackPosition({labelBox:i,verticalAlign:b,textAlign:p});m.x-=r,m.y-=n,u.align(c,!1,m),(t=g.isInsidePlot(u.alignAttr.x+c.x+r,u.alignAttr.y+c.y+n))||(s=!1),s&&h.prototype.justifyDataLabel.call(d,u,c,u.alignAttr,i,m),u.attr({x:u.alignAttr.x,y:u.alignAttr.y,rotation:f.rotation,rotationOriginX:i.width*{left:0,center:.5,right:1}[f.textAlign||"center"],rotationOriginY:i.height/2}),a(!s&&f.crop,!0)&&(t=o(u.x)&&o(u.y)&&g.isInsidePlot(u.x-e+(u.width||0),u.y)&&g.isInsidePlot(u.x+e,u.y)),u[t?"show":"hide"]()}n(this,"afterSetOffset",{xOffset:t,width:i})}adjustStackPosition({labelBox:t,verticalAlign:i,textAlign:e}){let s={bottom:0,middle:1,top:2,right:1,center:0,left:-1};return{x:t.width/2+t.width/2*s[e],y:t.height/2*s[i]}}getStackBox(t){let i=this.axis,e=i.chart,{boxTop:s,defaultX:h,xOffset:r,width:n,boxBottom:l}=t,c=i.stacking.usePercentage?100:a(s,this.total,0),d=i.toPixels(c),u=t.xAxis||e.xAxis[0],f=a(h,u.translate(this.x))+r,p=Math.abs(d-i.toPixels(l||o(i.min)&&i.logarithmic&&i.logarithmic.lin2log(i.min)||0)),g=this.isNegative;return e.inverted?{x:(g?d:d-p)-e.plotLeft,y:u.height-f-n+u.top-e.plotTop,width:p,height:n}:{x:f+u.transB-e.plotLeft,y:(g?d-p:d)-e.plotTop,width:n,height:p}}}})),e(i,"Core/Axis/Stacking/StackingAxis.js",[i["Core/Animation/AnimationUtilities.js"],i["Core/Axis/Axis.js"],i["Core/Series/SeriesRegistry.js"],i["Core/Axis/Stacking/StackItem.js"],i["Core/Utilities.js"]],(function(t,i,e,s,h){var r;let{getDeferredAnimation:n}=t,{series:{prototype:o}}=e,{addEvent:a,correctFloat:l,defined:c,destroyObjectProperties:d,fireEvent:u,isArray:f,isNumber:p,objectEach:g,pick:m}=h;function b(){let t=this.inverted;this.axes.forEach((t=>{t.stacking&&t.stacking.stacks&&t.hasVisibleSeries&&(t.stacking.oldStacks=t.stacking.stacks)})),this.series.forEach((i=>{let e=i.xAxis&&i.xAxis.options||{};i.options.stacking&&i.reserveSpace()&&(i.stackKey=[i.type,m(i.options.stack,""),t?e.top:e.left,t?e.height:e.width].join(","))}))}function x(){let t=this.stacking;if(t){let i=t.stacks;g(i,((t,e)=>{d(t),delete i[e]})),t.stackTotalGroup?.destroy()}}function v(){this.stacking||(this.stacking=new O(this))}function y(t,i,e,s){return!c(t)||t.x!==i||s&&t.stackKey!==s?t={x:i,index:0,key:s,stackKey:s}:t.index++,t.key=[e,i,t.index].join(","),t}function M(){let t,i=this,e=i.stackKey||"",s=i.yAxis.stacking.stacks,h=i.processedXData,r=i[i.options.stacking+"Stacker"];r&&[e,"-"+e].forEach((e=>{let n,o,a,l=h.length;for(;l--;)n=h[l],t=i.getStackIndicator(t,n,i.index,e),o=s[e]?.[n],(a=o?.points[t.key||""])&&r.call(i,a,o,l)}))}function w(t,i,e){let s=i.total?100/i.total:0;t[0]=l(t[0]*s),t[1]=l(t[1]*s),this.stackedYData[e]=t[1]}function k(t){(this.is("column")||this.is("columnrange"))&&(this.options.centerInCategory&&!this.options.stacking&&this.chart.series.length>1?o.setStackedPoints.call(this,t,"group"):t.stacking.resetStacks())}function S(t,i){let e,h,r,n,o,a,d,u,p,g=i||this.options.stacking;if(!g||!this.reserveSpace()||({group:"xAxis"}[g]||"yAxis")!==t.coll)return;let b=this.processedXData,x=this.processedYData,v=[],y=x.length,M=this.options,w=M.threshold||0,k=M.startFromThreshold?w:0,S=M.stack,O=i?`${this.type},${g}`:this.stackKey||"",A="-"+O,L=this.negStacks,C=t.stacking,j=C.stacks,T=C.oldStacks;for(C.stacksTouched+=1,d=0;d<y;d++){u=b[d],p=x[d],a=(e=this.getStackIndicator(e,u,this.index)).key||"",j[o=(h=L&&p<(k?0:w))?A:O]||(j[o]={}),j[o][u]||(T[o]?.[u]?(j[o][u]=T[o][u],j[o][u].total=null):j[o][u]=new s(t,t.options.stackLabels,!!h,u,S)),r=j[o][u],null!==p?(r.points[a]=r.points[this.index]=[m(r.cumulative,k)],c(r.cumulative)||(r.base=a),r.touched=C.stacksTouched,e.index>0&&!1===this.singleStacks&&(r.points[a][0]=r.points[this.index+","+u+",0"][0])):(delete r.points[a],delete r.points[this.index]);let i=r.total||0;"percent"===g?(n=h?O:A,i=L&&j[n]?.[u]?(n=j[n][u]).total=Math.max(n.total||0,i)+Math.abs(p)||0:l(i+(Math.abs(p)||0))):"group"===g?(f(p)&&(p=p[0]),null!==p&&i++):i=l(i+(p||0)),r.cumulative="group"===g?(i||1)-1:l(m(r.cumulative,k)+(p||0)),r.total=i,null!==p&&(r.points[a].push(r.cumulative),v[d]=r.cumulative,r.hasValidPoints=!0)}"percent"===g&&(C.usePercentage=!0),"group"!==g&&(this.stackedYData=v),C.oldStacks={}}class O{constructor(t){this.oldStacks={},this.stacks={},this.stacksTouched=0,this.axis=t}buildStacks(){let t,i,e=this.axis,s=e.series,h="xAxis"===e.coll,r=e.options.reversedStacks,n=s.length;for(this.resetStacks(),this.usePercentage=!1,i=n;i--;)t=s[r?i:n-i-1],h&&t.setGroupedPoints(e),t.setStackedPoints(e);if(!h)for(i=0;i<n;i++)s[i].modifyStacks();u(e,"afterBuildStacks")}cleanStacks(){this.oldStacks&&(this.stacks=this.oldStacks,g(this.stacks,(t=>{g(t,(t=>{t.cumulative=t.total}))})))}resetStacks(){g(this.stacks,(t=>{g(t,((i,e)=>{p(i.touched)&&i.touched<this.stacksTouched?(i.destroy(),delete t[e]):(i.total=null,i.cumulative=null)}))}))}renderStackTotals(){let t=this.axis,i=t.chart,e=i.renderer,s=this.stacks,h=n(i,t.options.stackLabels?.animation||!1),r=this.stackTotalGroup=this.stackTotalGroup||e.g("stack-labels").attr({zIndex:6,opacity:0}).add();r.translate(i.plotLeft,i.plotTop),g(s,(t=>{g(t,(t=>{t.render(r)}))})),r.animate({opacity:1},h)}}return(r||(r={})).compose=function(t,i,e){let s=i.prototype,h=e.prototype;s.getStacks||(a(t,"init",v),a(t,"destroy",x),s.getStacks=b,h.getStackIndicator=y,h.modifyStacks=M,h.percentStacker=w,h.setGroupedPoints=k,h.setStackedPoints=S)},r})),e(i,"Series/Line/LineSeries.js",[i["Core/Series/Series.js"],i["Core/Series/SeriesRegistry.js"],i["Core/Utilities.js"]],(function(t,i,e){let{defined:s,merge:h,isObject:r}=e;class n extends t{drawGraph(){let t=this.options,i=(this.gappedPath||this.getGraphPath).call(this),e=this.chart.styledMode;[this,...this.zones].forEach(((s,n)=>{let o,a=s.graph,l=a?"animate":"attr",c=s.dashStyle||t.dashStyle;a?(a.endX=this.preventGraphAnimation?null:i.xMap,a.animate({d:i})):i.length&&(s.graph=a=this.chart.renderer.path(i).addClass("highcharts-graph"+(n?` highcharts-zone-graph-${n-1} `:" ")+(n&&s.className||"")).attr({zIndex:1}).add(this.group)),a&&!e&&(o={stroke:!n&&t.lineColor||s.color||this.color||"#cccccc","stroke-width":t.lineWidth||0,fill:this.fillGraph&&this.color||"none"},c?o.dashstyle=c:"square"!==t.linecap&&(o["stroke-linecap"]=o["stroke-linejoin"]="round"),a[l](o).shadow(n<2&&t.shadow&&h({filterUnits:"userSpaceOnUse"},r(t.shadow)?t.shadow:{}))),a&&(a.startX=i.xMap,a.isArea=i.isArea)}))}getGraphPath(t,i,e){let h,r=this,n=r.options,o=[],a=[],l=n.step,c=(t=t||r.points).reversed;return c&&t.reverse(),(l={right:1,center:2}[l]||l&&3)&&c&&(l=4-l),(t=this.getValidPoints(t,!1,!(n.connectNulls&&!i&&!e))).forEach((function(c,d){let u,f=c.plotX,p=c.plotY,g=t[d-1],m=c.isNull||"number"!=typeof p;(c.leftCliff||g&&g.rightCliff)&&!e&&(h=!0),m&&!s(i)&&d>0?h=!n.connectNulls:m&&!i?h=!0:(0===d||h?u=[["M",c.plotX,c.plotY]]:r.getPointSpline?u=[r.getPointSpline(t,c,d)]:l?(u=1===l?[["L",g.plotX,p]]:2===l?[["L",(g.plotX+f)/2,g.plotY],["L",(g.plotX+f)/2,p]]:[["L",f,g.plotY]]).push(["L",f,p]):u=[["L",f,p]],a.push(c.x),l&&(a.push(c.x),2===l&&a.push(c.x)),o.push.apply(o,u),h=!1)})),o.xMap=a,r.graphPath=o,o}}return n.defaultOptions=h(t.defaultOptions,{legendSymbol:"lineMarker"}),i.registerSeriesType("line",n),n})),e(i,"Series/Area/AreaSeriesDefaults.js",[],(function(){return{threshold:0,legendSymbol:"areaMarker"}})),e(i,"Series/Area/AreaSeries.js",[i["Series/Area/AreaSeriesDefaults.js"],i["Core/Series/SeriesRegistry.js"],i["Core/Utilities.js"]],(function(t,i,e){let{seriesTypes:{line:s}}=i,{extend:h,merge:r,objectEach:n,pick:o}=e;class a extends s{drawGraph(){this.areaPath=[],super.drawGraph.apply(this);let{areaPath:t,options:i}=this;[this,...this.zones].forEach(((e,s)=>{let h={},r=e.fillColor||i.fillColor,n=e.area,o=n?"animate":"attr";n?(n.endX=this.preventGraphAnimation?null:t.xMap,n.animate({d:t})):(h.zIndex=0,(n=e.area=this.chart.renderer.path(t).addClass("highcharts-area"+(s?` highcharts-zone-area-${s-1} `:" ")+(s&&e.className||"")).add(this.group)).isArea=!0),this.chart.styledMode||(h.fill=r||e.color||this.color,h["fill-opacity"]=r?1:i.fillOpacity??.75,n.css({pointerEvents:this.stickyTracking?"none":"auto"})),n[o](h),n.startX=t.xMap,n.shiftUnit=i.step?2:1}))}getGraphPath(t){let i,e,h,r=s.prototype.getGraphPath,n=this.options,a=n.stacking,l=this.yAxis,c=[],d=[],u=this.index,f=l.stacking.stacks[this.stackKey],p=n.threshold,g=Math.round(l.getThreshold(n.threshold)),m=o(n.connectNulls,"percent"===a),b=function(e,s,h){let r,n,o=t[e],m=a&&f[o.x].points[u],b=o[h+"Null"]||0,x=o[h+"Cliff"]||0,v=!0;x||b?(r=(b?m[0]:m[1])+x,n=m[0]+x,v=!!b):!a&&t[s]&&t[s].isNull&&(r=n=p),void 0!==r&&(d.push({plotX:i,plotY:null===r?g:l.getThreshold(r),isNull:v,isCliff:!0}),c.push({plotX:i,plotY:null===n?g:l.getThreshold(n),doCurve:!1}))};t=t||this.points,a&&(t=this.getStackPoints(t));for(let s=0,r=t.length;s<r;++s)a||(t[s].leftCliff=t[s].rightCliff=t[s].leftNull=t[s].rightNull=void 0),e=t[s].isNull,i=o(t[s].rectPlotX,t[s].plotX),h=a?o(t[s].yBottom,g):g,e&&!m||(m||b(s,s-1,"left"),e&&!a&&m||(d.push(t[s]),c.push({x:s,plotX:i,plotY:h})),m||b(s,s+1,"right"));let x=r.call(this,d,!0,!0);c.reversed=!0;let v=r.call(this,c,!0,!0),y=v[0];y&&"M"===y[0]&&(v[0]=["L",y[1],y[2]]);let M=x.concat(v);M.length&&M.push(["Z"]);let w=r.call(this,d,!1,m);return this.chart.series.length>1&&a&&d.some((t=>t.isCliff))&&(M.hasStackedCliffs=w.hasStackedCliffs=!0),M.xMap=x.xMap,this.areaPath=M,w}getStackPoints(t){let i=this,e=[],s=[],h=this.xAxis,r=this.yAxis,a=r.stacking.stacks[this.stackKey],l={},c=r.series,d=c.length,u=r.options.reversedStacks?1:-1,f=c.indexOf(i);if(t=t||this.points,this.options.stacking){for(let i=0;i<t.length;i++)t[i].leftNull=t[i].rightNull=void 0,l[t[i].x]=t[i];n(a,(function(t,i){null!==t.total&&s.push(i)})),s.sort((function(t,i){return t-i}));let p=c.map((t=>t.visible));s.forEach((function(t,n){let g,m,b=0;if(l[t]&&!l[t].isNull)e.push(l[t]),[-1,1].forEach((function(e){let h=1===e?"rightNull":"leftNull",r=a[s[n+e]],o=0;if(r){let e=f;for(;e>=0&&e<d;){let s=c[e].index;!(g=r.points[s])&&(s===i.index?l[t][h]=!0:p[e]&&(m=a[t].points[s])&&(o-=m[1]-m[0])),e+=u}}l[t][1===e?"rightCliff":"leftCliff"]=o}));else{let i=f;for(;i>=0&&i<d;){if(g=a[t].points[c[i].index]){b=g[1];break}i+=u}b=o(b,0),b=r.translate(b,0,1,0,1),e.push({isNull:!0,plotX:h.translate(t,0,0,0,1),x:t,plotY:b,yBottom:b})}}))}return e}}return a.defaultOptions=r(s.defaultOptions,t),h(a.prototype,{singleStacks:!1}),i.registerSeriesType("area",a),a})),e(i,"Series/Spline/SplineSeries.js",[i["Core/Series/SeriesRegistry.js"],i["Core/Utilities.js"]],(function(t,i){let{line:e}=t.seriesTypes,{merge:s,pick:h}=i;class r extends e{getPointSpline(t,i,e){let s,r,n,o,a=i.plotX||0,l=i.plotY||0,c=t[e-1],d=t[e+1];function u(t){return t&&!t.isNull&&!1!==t.doCurve&&!i.isCliff}if(u(c)&&u(d)){let t=c.plotY||0,e=d.plotY||0,h=0;s=(1.5*a+(c.plotX||0))/2.5,r=(1.5*l+t)/2.5,n=(1.5*a+(d.plotX||0))/2.5,o=(1.5*l+e)/2.5,n!==s&&(h=(o-r)*(n-a)/(n-s)+l-o),r+=h,o+=h,r>t&&r>l?(r=Math.max(t,l),o=2*l-r):r<t&&r<l&&(r=Math.min(t,l),o=2*l-r),o>e&&o>l?(o=Math.max(e,l),r=2*l-o):o<e&&o<l&&(o=Math.min(e,l),r=2*l-o),i.rightContX=n,i.rightContY=o,i.controlPoints={low:[s,r],high:[n,o]}}let f=["C",h(c.rightContX,c.plotX,0),h(c.rightContY,c.plotY,0),h(s,a,0),h(r,l,0),a,l];return c.rightContX=c.rightContY=void 0,f}}return r.defaultOptions=s(e.defaultOptions),t.registerSeriesType("spline",r),r})),e(i,"Series/AreaSpline/AreaSplineSeries.js",[i["Series/Spline/SplineSeries.js"],i["Core/Series/SeriesRegistry.js"],i["Core/Utilities.js"]],(function(t,i,e){let{area:s,area:{prototype:h}}=i.seriesTypes,{extend:r,merge:n}=e;class o extends t{}return o.defaultOptions=n(t.defaultOptions,s.defaultOptions),r(o.prototype,{getGraphPath:h.getGraphPath,getStackPoints:h.getStackPoints,drawGraph:h.drawGraph}),i.registerSeriesType("areaspline",o),o})),e(i,"Series/Column/ColumnSeriesDefaults.js",[],(function(){return{borderRadius:3,centerInCategory:!1,groupPadding:.2,marker:null,pointPadding:.1,minPointLength:0,cropThreshold:50,pointRange:null,states:{hover:{halo:!1,brightness:.1},select:{color:"#cccccc",borderColor:"#000000"}},dataLabels:{align:void 0,verticalAlign:void 0,y:void 0},startFromThreshold:!0,stickyTracking:!1,tooltip:{distance:6},threshold:0,borderColor:"#ffffff"}})),e(i,"Series/Column/ColumnSeries.js",[i["Core/Animation/AnimationUtilities.js"],i["Core/Color/Color.js"],i["Series/Column/ColumnSeriesDefaults.js"],i["Core/Globals.js"],i["Core/Series/Series.js"],i["Core/Series/SeriesRegistry.js"],i["Core/Utilities.js"]],(function(t,i,e,s,h,r,n){let{animObject:o}=t,{parse:a}=i,{noop:l}=s,{clamp:c,crisp:d,defined:u,extend:f,fireEvent:p,isArray:g,isNumber:m,merge:b,pick:x,objectEach:v}=n;class y extends h{animate(t){let i,e,s=this,h=this.yAxis,r=h.pos,n=h.reversed,a=s.options,{clipOffset:l,inverted:d}=this.chart,u={},p=d?"translateX":"translateY";t&&l?(u.scaleY=.001,e=c(h.toPixels(a.threshold),r,r+h.len),d?(e+=n?-Math.floor(l[0]):Math.ceil(l[2]),u.translateX=e-h.len):(e+=n?Math.ceil(l[0]):-Math.floor(l[2]),u.translateY=e),s.clipBox&&s.setClip(),s.group.attr(u)):(i=Number(s.group.attr(p)),s.group.animate({scaleY:1},f(o(s.options.animation),{step:function(t,e){s.group&&(u[p]=i+e.pos*(r-i),s.group.attr(u))}})))}init(t,i){super.init.apply(this,arguments);let e=this;(t=e.chart).hasRendered&&t.series.forEach((function(t){t.type===e.type&&(t.isDirty=!0)}))}getColumnMetrics(){let t,i=this,e=i.options,s=i.xAxis,h=i.yAxis,r=s.options.reversedStacks,n=s.reversed&&!r||!s.reversed&&r,o={},a=0;!1===e.grouping?a=1:i.chart.series.forEach((function(e){let s,r=e.yAxis,n=e.options;e.type===i.type&&e.reserveSpace()&&h.len===r.len&&h.pos===r.pos&&(n.stacking&&"group"!==n.stacking?(void 0===o[t=e.stackKey]&&(o[t]=a++),s=o[t]):!1!==n.grouping&&(s=a++),e.columnIndex=s)}));let l=Math.min(Math.abs(s.transA)*(!s.brokenAxis?.hasBreaks&&s.ordinal?.slope||e.pointRange||s.closestPointRange||s.tickInterval||1),s.len),c=l*e.groupPadding,d=(l-2*c)/(a||1),u=Math.min(e.maxPointWidth||s.len,x(e.pointWidth,d*(1-2*e.pointPadding)));return i.columnMetrics={width:u,offset:(d-u)/2+(c+((i.columnIndex||0)+(n?1:0))*d-l/2)*(n?-1:1),paddedWidth:d,columnCount:a},i.columnMetrics}crispCol(t,i,e,s){let h=this.borderWidth,r=this.chart.inverted;return s=d(i+s,h,r)-(i=d(i,h,r)),this.options.crisp&&(e=d(t+e,h)-(t=d(t,h))),{x:t,y:i,width:e,height:s}}adjustForMissingColumns(t,i,e,s){if(!e.isNull&&s.columnCount>1){let h=this.xAxis.series.filter((t=>t.visible)).map((t=>t.index)),r=0,n=0;v(this.xAxis.stacking?.stacks,(t=>{if("number"==typeof e.x){let i=t[e.x.toString()];if(i&&g(i.points[this.index])){let t=Object.keys(i.points).filter((t=>!t.match(",")&&i.points[t]&&i.points[t].length>1)).map(parseFloat).filter((t=>-1!==h.indexOf(t))).sort(((t,i)=>i-t));r=t.indexOf(this.index),n=t.length}}})),r=this.xAxis.reversed?n-1-r:r,t=(e.plotX||0)+((n-1)*s.paddedWidth+i)/2-i-r*s.paddedWidth}return t}translate(){let t=this,i=t.chart,e=t.options,s=t.dense=t.closestPointRange*t.xAxis.transA<2,r=t.borderWidth=x(e.borderWidth,s?0:1),n=t.xAxis,o=t.yAxis,a=e.threshold,l=x(e.minPointLength,5),d=t.getColumnMetrics(),f=d.width,g=t.pointXOffset=d.offset,b=t.dataMin,v=t.dataMax,y=t.translatedThreshold=o.getThreshold(a),M=t.barW=Math.max(f,1+2*r);e.pointPadding&&(M=Math.ceil(M)),h.prototype.translate.apply(t),t.points.forEach((function(s){let h,r=x(s.yBottom,y),p=999+Math.abs(r),w=s.plotX||0,k=c(s.plotY,-p,o.len+p),S=Math.min(k,r),O=Math.max(k,r)-S,A=f,L=w+g,C=M;l&&Math.abs(O)<l&&(O=l,h=!o.reversed&&!s.negative||o.reversed&&s.negative,m(a)&&m(v)&&s.y===a&&v<=a&&(o.min||0)<a&&(b!==v||(o.max||0)<=a)&&(h=!h,s.negative=!s.negative),S=Math.abs(S-y)>l?r-l:y-(h?l:0)),u(s.options.pointWidth)&&(L-=Math.round(((A=C=Math.ceil(s.options.pointWidth))-f)/2)),e.centerInCategory&&!e.stacking&&(L=t.adjustForMissingColumns(L,A,s,d)),s.barX=L,s.pointWidth=A,s.tooltipPos=i.inverted?[c(o.len+o.pos-i.plotLeft-k,o.pos-i.plotLeft,o.len+o.pos-i.plotLeft),n.len+n.pos-i.plotTop-L-C/2,O]:[n.left-i.plotLeft+L+C/2,c(k+o.pos-i.plotTop,o.pos-i.plotTop,o.len+o.pos-i.plotTop),O],s.shapeType=t.pointClass.prototype.shapeType||"roundedRect",s.shapeArgs=t.crispCol(L,s.isNull?y:S,C,s.isNull?0:O)})),p(this,"afterColumnTranslate")}drawGraph(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")}pointAttribs(t,i){let e,s,h,r=this.options,n=this.pointAttrToOptions||{},o=n.stroke||"borderColor",l=n["stroke-width"]||"borderWidth",c=t&&t.color||this.color,d=t&&t[o]||r[o]||c,u=t&&t.options.dashStyle||r.dashStyle,f=t&&t[l]||r[l]||this[l]||0,p=x(t&&t.opacity,r.opacity,1);t&&this.zones.length&&(s=t.getZone(),c=t.options.color||s&&(s.color||t.nonZonedColor)||this.color,s&&(d=s.borderColor||d,u=s.dashStyle||u,f=s.borderWidth||f)),i&&t&&(h=(e=b(r.states[i],t.options.states&&t.options.states[i]||{})).brightness,c=e.color||void 0!==h&&a(c).brighten(e.brightness).get()||c,d=e[o]||d,f=e[l]||f,u=e.dashStyle||u,p=x(e.opacity,p));let g={fill:c,stroke:d,"stroke-width":f,opacity:p};return u&&(g.dashstyle=u),g}drawPoints(t=this.points){let i,e=this,s=this.chart,h=e.options,r=s.renderer,n=h.animationLimit||250;t.forEach((function(t){let o=t.graphic,a=!!o,l=o&&s.pointCount<n?"animate":"attr";m(t.plotY)&&null!==t.y?(i=t.shapeArgs,o&&t.hasNewShapeType()&&(o=o.destroy()),e.enabledDataSorting&&(t.startXPos=e.xAxis.reversed?-(i&&i.width||0):e.xAxis.width),!o&&(t.graphic=o=r[t.shapeType](i).add(t.group||e.group),o&&e.enabledDataSorting&&s.hasRendered&&s.pointCount<n&&(o.attr({x:t.startXPos}),a=!0,l="animate")),o&&a&&o[l](b(i)),s.styledMode||o[l](e.pointAttribs(t,t.selected&&"select")).shadow(!1!==t.allowShadow&&h.shadow),o&&(o.addClass(t.getClassName(),!0),o.attr({visibility:t.visible?"inherit":"hidden"}))):o&&(t.graphic=o.destroy())}))}drawTracker(t=this.points){let i,e=this,s=e.chart,h=s.pointer,r=function(t){let i=h?.getPointFromEvent(t);h&&i&&e.options.enableMouseTracking&&(h.isDirectTouch=!0,i.onMouseOver(t))};t.forEach((function(t){i=g(t.dataLabels)?t.dataLabels:t.dataLabel?[t.dataLabel]:[],t.graphic&&(t.graphic.element.point=t),i.forEach((function(i){(i.div||i.element).point=t}))})),e._hasTracking||(e.trackerGroups.forEach((function(t){e[t]&&(e[t].addClass("highcharts-tracker").on("mouseover",r).on("mouseout",(function(t){h?.onTrackerMouseOut(t)})).on("touchstart",r),!s.styledMode&&e.options.cursor&&e[t].css({cursor:e.options.cursor}))})),e._hasTracking=!0),p(this,"afterDrawTracker")}remove(){let t=this,i=t.chart;i.hasRendered&&i.series.forEach((function(i){i.type===t.type&&(i.isDirty=!0)})),h.prototype.remove.apply(t,arguments)}}return y.defaultOptions=b(h.defaultOptions,e),f(y.prototype,{directTouch:!0,getSymbol:l,negStacks:!0,trackerGroups:["group","dataLabelsGroup"]}),r.registerSeriesType("column",y),y})),e(i,"Core/Series/DataLabel.js",[i["Core/Animation/AnimationUtilities.js"],i["Core/Templating.js"],i["Core/Utilities.js"]],(function(t,i,e){var s;let{getDeferredAnimation:h}=t,{format:r}=i,{defined:n,extend:o,fireEvent:a,isArray:l,isString:c,merge:d,objectEach:u,pick:f,pInt:p,splat:g}=e;return function(t){function i(){return y(this).some((t=>t?.enabled))}function e(t,i,e,s,h){let{chart:r,enabledDataSorting:a}=this,l=this.isCartesian&&r.inverted,c=t.plotX,u=t.plotY,p=e.rotation||0,g=n(c)&&n(u)&&r.isInsidePlot(c,Math.round(u),{inverted:l,paneCoordinates:!0,series:this}),m=0===p&&"justify"===f(e.overflow,a?"none":"justify"),b=this.visible&&!1!==t.visible&&n(c)&&(t.series.forceDL||a&&!m||g||f(e.inside,!!this.options.stacking)&&s&&r.isInsidePlot(c,l?s.x+1:s.y+s.height-1,{inverted:l,paneCoordinates:!0,series:this})),x=t.pos();if(b&&x){let n=i.getBBox(),c=i.getBBox(void 0,0),u={right:1,center:.5}[e.align||0]||0,v={bottom:1,middle:.5}[e.verticalAlign||0]||0;if(s=o({x:x[0],y:Math.round(x[1]),width:0,height:0},s||{}),"plotEdges"===e.alignTo&&this.isCartesian&&(s[l?"x":"y"]=0,s[l?"width":"height"]=this.yAxis?.len||0),o(e,{width:n.width,height:n.height}),a&&this.xAxis&&!m&&this.setDataLabelStartPos(t,i,h,g,s),i.align(d(e,{width:c.width,height:c.height}),!1,s,!1),i.alignAttr.x+=u*(c.width-n.width),i.alignAttr.y+=v*(c.height-n.height),i[i.placed?"animate":"attr"]({x:i.alignAttr.x+(n.width-c.width)/2,y:i.alignAttr.y+(n.height-c.height)/2,rotationOriginX:(i.width||0)/2,rotationOriginY:(i.height||0)/2}),m&&s.height>=0)this.justifyDataLabel(i,e,i.alignAttr,n,s,h);else if(f(e.crop,!0)){let{x:t,y:e}=i.alignAttr;b=r.isInsidePlot(t,e,{paneCoordinates:!0,series:this})&&r.isInsidePlot(t+n.width-1,e+n.height-1,{paneCoordinates:!0,series:this})}e.shape&&!p&&i[h?"attr":"animate"]({anchorX:x[0],anchorY:x[1]})}h&&a&&(i.placed=!1),b||a&&!m?(i.show(),i.placed=!0):(i.hide(),i.placed=!1)}function s(){return this.plotGroup("dataLabelsGroup","data-labels",this.hasRendered?"inherit":"hidden",this.options.dataLabels.zIndex||6)}function m(t){let i=this.hasRendered||0,e=this.initDataLabelsGroup().attr({opacity:+i});return!i&&e&&(this.visible&&e.show(),this.options.animation?e.animate({opacity:1},t):e.attr({opacity:1})),e}function b(t){let i;t=t||this.points;let e=this,s=e.chart,o=e.options,l=s.renderer,{backgroundColor:d,plotBackgroundColor:m}=s.options.chart,b=l.getContrast(c(m)&&m||c(d)&&d||"#000000"),x=y(e),{animation:M,defer:w}=x[0],k=w?h(s,M,e):{defer:0,duration:0};a(this,"drawDataLabels"),e.hasDataLabels?.()&&(i=this.initDataLabels(k),t.forEach((t=>{let h=t.dataLabels||[];g(v(x,t.dlOptions||t.options?.dataLabels)).forEach(((d,g)=>{let m,x,v,y,M,w=d.enabled&&(t.visible||t.dataLabelOnHidden)&&(!t.isNull||t.dataLabelOnNull)&&function(t,i){let e=i.filter;if(e){let i=e.operator,s=t[e.property],h=e.value;return">"===i&&s>h||"<"===i&&s<h||">="===i&&s>=h||"<="===i&&s<=h||"=="===i&&s==h||"==="===i&&s===h||"!="===i&&s!=h||"!=="===i&&s!==h}return!0}(t,d),{backgroundColor:k,borderColor:S,distance:O,style:A={}}=d,L={},C=h[g],j=!C;w&&(x=f(d[t.formatPrefix+"Format"],d.format),m=t.getLabelConfig(),v=n(x)?r(x,m,s):(d[t.formatPrefix+"Formatter"]||d.formatter).call(m,d),y=d.rotation,!s.styledMode&&(A.color=f(d.color,A.color,c(e.color)?e.color:void 0,"#000000"),"contrast"===A.color?("none"!==k&&(M=k),t.contrastColor=l.getContrast("auto"!==M&&M||t.color||e.color),A.color=M||!n(O)&&d.inside||0>p(O||0)||o.stacking?t.contrastColor:b):delete t.contrastColor,o.cursor&&(A.cursor=o.cursor)),L={r:d.borderRadius||0,rotation:y,padding:d.padding,zIndex:1},s.styledMode||(L.fill="auto"===k?t.color:k,L.stroke="auto"===S?t.color:S,L["stroke-width"]=d.borderWidth),u(L,((t,i)=>{void 0===t&&delete L[i]}))),!C||w&&n(v)&&!!C.div==!!d.useHTML&&(C.rotation&&d.rotation||C.rotation===d.rotation)||(C=void 0,j=!0),w&&n(v)&&(C?L.text=v:(C=l.label(v,0,0,d.shape,void 0,void 0,d.useHTML,void 0,"data-label")).addClass(" highcharts-data-label-color-"+t.colorIndex+" "+(d.className||"")+(d.useHTML?" highcharts-tracker":"")),C&&(C.options=d,C.attr(L),s.styledMode?A.width&&C.css({width:A.width,textOverflow:A.textOverflow}):C.css(A).shadow(d.shadow),a(C,"beforeAddingDataLabel",{labelOptions:d,point:t}),C.added||C.add(i),e.alignDataLabel(t,C,d,void 0,j),C.isActive=!0,h[g]&&h[g]!==C&&h[g].destroy(),h[g]=C))}));let d=h.length;for(;d--;)h[d]&&h[d].isActive?h[d].isActive=!1:(h[d]?.destroy(),h.splice(d,1));t.dataLabel=h[0],t.dataLabels=h}))),a(this,"afterDrawDataLabels")}function x(t,i,e,s,h,r){let n,o,a=this.chart,l=i.align,c=i.verticalAlign,d=t.box?0:t.padding||0,u=a.inverted?this.yAxis:this.xAxis,f=u?u.left-a.plotLeft:0,p=a.inverted?this.xAxis:this.yAxis,g=p?p.top-a.plotTop:0,{x:m=0,y:b=0}=i;return(n=(e.x||0)+d+f)<0&&("right"===l&&m>=0?(i.align="left",i.inside=!0):m-=n,o=!0),(n=(e.x||0)+s.width-d+f)>a.plotWidth&&("left"===l&&m<=0?(i.align="right",i.inside=!0):m+=a.plotWidth-n,o=!0),(n=e.y+d+g)<0&&("bottom"===c&&b>=0?(i.verticalAlign="top",i.inside=!0):b-=n,o=!0),(n=(e.y||0)+s.height-d+g)>a.plotHeight&&("top"===c&&b<=0?(i.verticalAlign="bottom",i.inside=!0):b+=a.plotHeight-n,o=!0),o&&(i.x=m,i.y=b,t.placed=!r,t.align(i,void 0,h)),o}function v(t,i){let e,s=[];if(l(t)&&!l(i))s=t.map((function(t){return d(t,i)}));else if(l(i)&&!l(t))s=i.map((function(i){return d(t,i)}));else if(l(t)||l(i)){if(l(t)&&l(i))for(e=Math.max(t.length,i.length);e--;)s[e]=d(t[e],i[e])}else s=d(t,i);return s}function y(t){let i=t.chart.options.plotOptions;return g(v(v(i?.series?.dataLabels,i?.[t.type]?.dataLabels),t.options.dataLabels))}function M(t,i,e,s,h){let r=this.chart,n=r.inverted,o=this.xAxis,a=o.reversed,l=((n?i.height:i.width)||0)/2,c=t.pointWidth,d=c?c/2:0;i.startXPos=n?h.x:a?-l-d:o.width-l+d,i.startYPos=n?a?this.yAxis.height-l+d:-l-d:h.y,s?"hidden"===i.visibility&&(i.show(),i.attr({opacity:0}).animate({opacity:1})):i.attr({opacity:1}).animate({opacity:0},void 0,i.hide),r.hasRendered&&(e&&i.attr({x:i.startXPos,y:i.startYPos}),i.placed=!0)}t.compose=function(t){let h=t.prototype;h.initDataLabels||(h.initDataLabels=m,h.initDataLabelsGroup=s,h.alignDataLabel=e,h.drawDataLabels=b,h.justifyDataLabel=x,h.setDataLabelStartPos=M,h.hasDataLabels=i)}}(s||(s={})),s})),e(i,"Series/Column/ColumnDataLabel.js",[i["Core/Series/DataLabel.js"],i["Core/Globals.js"],i["Core/Series/SeriesRegistry.js"],i["Core/Utilities.js"]],(function(t,i,e,s){var h;let{composed:r}=i,{series:n}=e,{merge:o,pick:a,pushUnique:l}=s;return function(i){function e(t,i,e,s,h){let r=this.chart.inverted,l=t.series,c=(l.xAxis?l.xAxis.len:this.chart.plotSizeX)||0,d=(l.yAxis?l.yAxis.len:this.chart.plotSizeY)||0,u=t.dlBox||t.shapeArgs,f=a(t.below,t.plotY>a(this.translatedThreshold,d)),p=a(e.inside,!!this.options.stacking);if(u){if(s=o(u),"allow"!==e.overflow||!1!==e.crop){s.y<0&&(s.height+=s.y,s.y=0);let t=s.y+s.height-d;t>0&&t<s.height-1&&(s.height-=t)}r&&(s={x:d-s.y-s.height,y:c-s.x-s.width,width:s.height,height:s.width}),p||(r?(s.x+=f?0:s.width,s.width=0):(s.y+=f?s.height:0,s.height=0))}e.align=a(e.align,!r||p?"center":f?"right":"left"),e.verticalAlign=a(e.verticalAlign,r||p?"middle":f?"top":"bottom"),n.prototype.alignDataLabel.call(this,t,i,e,s,h),e.inside&&t.contrastColor&&i.css({color:t.contrastColor})}i.compose=function(i){t.compose(n),l(r,"ColumnDataLabel")&&(i.prototype.alignDataLabel=e)}}(h||(h={})),h})),e(i,"Series/Bar/BarSeries.js",[i["Series/Column/ColumnSeries.js"],i["Core/Series/SeriesRegistry.js"],i["Core/Utilities.js"]],(function(t,i,e){let{extend:s,merge:h}=e;class r extends t{}return r.defaultOptions=h(t.defaultOptions,{}),s(r.prototype,{inverted:!0}),i.registerSeriesType("bar",r),r})),e(i,"Series/Scatter/ScatterSeriesDefaults.js",[],(function(){return{lineWidth:0,findNearestPointBy:"xy",jitter:{x:0,y:0},marker:{enabled:!0},tooltip:{headerFormat:'<span style="color:{point.color}">●</span> <span style="font-size: 0.8em"> {series.name}</span><br/>',pointFormat:"x: <b>{point.x}</b><br/>y: <b>{point.y}</b><br/>"}}})),e(i,"Series/Scatter/ScatterSeries.js",[i["Series/Scatter/ScatterSeriesDefaults.js"],i["Core/Series/SeriesRegistry.js"],i["Core/Utilities.js"]],(function(t,i,e){let{column:s,line:h}=i.seriesTypes,{addEvent:r,extend:n,merge:o}=e;class a extends h{applyJitter(){let t=this,i=this.options.jitter,e=this.points.length;i&&this.points.forEach((function(s,h){["x","y"].forEach((function(r,n){if(i[r]&&!s.isNull){let o=`plot${r.toUpperCase()}`,a=t[`${r}Axis`],l=i[r]*a.transA;if(a&&!a.logarithmic){let t=Math.max(0,(s[o]||0)-l),i=Math.min(a.len,(s[o]||0)+l);s[o]=t+(i-t)*function(t){let i=1e4*Math.sin(t);return i-Math.floor(i)}(h+n*e),"x"===r&&(s.clientX=s.plotX)}}}))}))}drawGraph(){this.options.lineWidth?super.drawGraph():this.graph&&(this.graph=this.graph.destroy())}}return a.defaultOptions=o(h.defaultOptions,t),n(a.prototype,{drawTracker:s.prototype.drawTracker,sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"]}),r(a,"afterTranslate",(function(){this.applyJitter()})),i.registerSeriesType("scatter",a),a})),e(i,"Series/CenteredUtilities.js",[i["Core/Globals.js"],i["Core/Series/Series.js"],i["Core/Utilities.js"]],(function(t,i,e){var s,h;let{deg2rad:r}=t,{fireEvent:n,isNumber:o,pick:a,relativeLength:l}=e;return(h=s||(s={})).getCenter=function(){let t,e,s,h=this.options,r=this.chart,c=2*(h.slicedOffset||0),d=r.plotWidth-2*c,u=r.plotHeight-2*c,f=h.center,p=Math.min(d,u),g=h.thickness,m=h.size,b=h.innerSize||0;"string"==typeof m&&(m=parseFloat(m)),"string"==typeof b&&(b=parseFloat(b));let x=[a(f[0],"50%"),a(f[1],"50%"),a(m&&m<0?void 0:h.size,"100%"),a(b&&b<0?void 0:h.innerSize||0,"0%")];for(!r.angular||this instanceof i||(x[3]=0),e=0;e<4;++e)s=x[e],t=e<2||2===e&&/%$/.test(s),x[e]=l(s,[d,u,p,x[2]][e])+(t?c:0);return x[3]>x[2]&&(x[3]=x[2]),o(g)&&2*g<x[2]&&g>0&&(x[3]=x[2]-2*g),n(this,"afterGetCenter",{positions:x}),x},h.getStartAndEndRadians=function(t,i){let e=o(t)?t:0,s=o(i)&&i>e&&i-e<360?i:e+360;return{start:r*(e+-90),end:r*(s+-90)}},s})),e(i,"Series/Pie/PiePoint.js",[i["Core/Animation/AnimationUtilities.js"],i["Core/Series/Point.js"],i["Core/Utilities.js"]],(function(t,i,e){let{setAnimation:s}=t,{addEvent:h,defined:r,extend:n,isNumber:o,pick:a,relativeLength:l}=e;class c extends i{getConnectorPath(t){let i=t.dataLabelPosition,e=t.options||{},s=e.connectorShape;return i&&(this.connectorShapes[s]||s).call(this,{...i.computed,alignment:i.alignment},i.connectorPosition,e)||[]}getTranslate(){return this.sliced&&this.slicedTranslation||{translateX:0,translateY:0}}haloPath(t){let i=this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(i.x,i.y,i.r+t,i.r+t,{innerR:i.r-1,start:i.start,end:i.end,borderRadius:i.borderRadius})}constructor(t,i,e){super(t,i,e),this.half=0,this.name??(this.name="Slice");let s=t=>{this.slice("select"===t.type)};h(this,"select",s),h(this,"unselect",s)}isValid(){return o(this.y)&&this.y>=0}setVisible(t,i=!0){t!==this.visible&&this.update({visible:t??!this.visible},i,void 0,!1)}slice(t,i,e){let h=this.series;s(e,h.chart),i=a(i,!0),this.sliced=this.options.sliced=t=r(t)?t:!this.sliced,h.options.data[h.data.indexOf(this)]=this.options,this.graphic&&this.graphic.animate(this.getTranslate())}}return n(c.prototype,{connectorShapes:{fixedOffset:function(t,i,e){let s=i.breakAt,h=i.touchingSliceAt;return[["M",t.x,t.y],e.softConnector?["C",t.x+("left"===t.alignment?-5:5),t.y,2*s.x-h.x,2*s.y-h.y,s.x,s.y]:["L",s.x,s.y],["L",h.x,h.y]]},straight:function(t,i){let e=i.touchingSliceAt;return[["M",t.x,t.y],["L",e.x,e.y]]},crookedLine:function(t,i,e){let{breakAt:s,touchingSliceAt:h}=i,{series:r}=this,[n,o,a]=r.center,c=a/2,{plotLeft:d,plotWidth:u}=r.chart,f="left"===t.alignment,{x:p,y:g}=t,m=s.x;if(e.crookDistance){let t=l(e.crookDistance,1);m=f?n+c+(u+d-n-c)*(1-t):d+(n-c)*t}else m=n+(o-g)*Math.tan((this.angle||0)-Math.PI/2);let b=[["M",p,g]];return(f?m<=p&&m>=s.x:m>=p&&m<=s.x)&&b.push(["L",m,g]),b.push(["L",s.x,s.y],["L",h.x,h.y]),b}}}),c})),e(i,"Series/Pie/PieSeriesDefaults.js",[],(function(){return{borderRadius:3,center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{connectorPadding:5,connectorShape:"crookedLine",crookDistance:void 0,distance:30,enabled:!0,formatter:function(){return this.point.isNull?void 0:this.point.name},softConnector:!0,x:0},fillColor:void 0,ignoreHiddenPoint:!0,inactiveOtherPoints:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0},borderColor:"#ffffff",borderWidth:1,lineWidth:void 0,states:{hover:{brightness:.1}}}})),e(i,"Series/Pie/PieSeries.js",[i["Series/CenteredUtilities.js"],i["Series/Column/ColumnSeries.js"],i["Core/Globals.js"],i["Series/Pie/PiePoint.js"],i["Series/Pie/PieSeriesDefaults.js"],i["Core/Series/Series.js"],i["Core/Series/SeriesRegistry.js"],i["Core/Renderer/SVG/Symbols.js"],i["Core/Utilities.js"]],(function(t,i,e,s,h,r,n,o,a){let{getStartAndEndRadians:l}=t,{noop:c}=e,{clamp:d,extend:u,fireEvent:f,merge:p,pick:g}=a;class m extends r{animate(t){let i=this,e=i.startAngleRad;t||i.points.forEach((function(t){let s=t.graphic,h=t.shapeArgs;s&&h&&(s.attr({r:g(t.startR,i.center&&i.center[3]/2),start:e,end:e}),s.animate({r:h.r,start:h.start,end:h.end},i.options.animation))}))}drawEmpty(){let t,i,e=this.startAngleRad,s=this.endAngleRad,h=this.options;0===this.total&&this.center?(t=this.center[0],i=this.center[1],this.graph||(this.graph=this.chart.renderer.arc(t,i,this.center[1]/2,0,e,s).addClass("highcharts-empty-series").add(this.group)),this.graph.attr({d:o.arc(t,i,this.center[2]/2,0,{start:e,end:s,innerR:this.center[3]/2})}),this.chart.styledMode||this.graph.attr({"stroke-width":h.borderWidth,fill:h.fillColor||"none",stroke:h.color||"#cccccc"})):this.graph&&(this.graph=this.graph.destroy())}drawPoints(){let t=this.chart.renderer;this.points.forEach((function(i){i.graphic&&i.hasNewShapeType()&&(i.graphic=i.graphic.destroy()),i.graphic||(i.graphic=t[i.shapeType](i.shapeArgs).add(i.series.group),i.delayedRendering=!0)}))}generatePoints(){super.generatePoints(),this.updateTotals()}getX(t,i,e,s){let h=this.center,r=this.radii?this.radii[e.index]||0:h[2]/2,n=s.dataLabelPosition?.distance||0,o=Math.asin(d((t-h[1])/(r+n),-1,1));return h[0]+Math.cos(o)*(r+n)*(i?-1:1)+(n>0?(i?-1:1)*(s.padding||0):0)}hasData(){return!!this.processedXData.length}redrawPoints(){let t,i,e,s,h=this,r=h.chart;this.drawEmpty(),h.group&&!r.styledMode&&h.group.shadow(h.options.shadow),h.points.forEach((function(n){let o={};i=n.graphic,!n.isNull&&i?(s=n.shapeArgs,t=n.getTranslate(),r.styledMode||(e=h.pointAttribs(n,n.selected&&"select")),n.delayedRendering?(i.setRadialReference(h.center).attr(s).attr(t),r.styledMode||i.attr(e).attr({"stroke-linejoin":"round"}),n.delayedRendering=!1):(i.setRadialReference(h.center),r.styledMode||p(!0,o,e),p(!0,o,s,t),i.animate(o)),i.attr({visibility:n.visible?"inherit":"hidden"}),i.addClass(n.getClassName(),!0)):i&&(n.graphic=i.destroy())}))}sortByAngle(t,i){t.sort((function(t,e){return void 0!==t.angle&&(e.angle-t.angle)*i}))}translate(t){f(this,"translate"),this.generatePoints();let i,e,s,h,r,n,o,a=this.options,c=a.slicedOffset,d=l(a.startAngle,a.endAngle),u=this.startAngleRad=d.start,p=(this.endAngleRad=d.end)-u,g=this.points,m=a.ignoreHiddenPoint,b=g.length,x=0;for(t||(this.center=t=this.getCenter()),n=0;n<b;n++){o=g[n],i=u+x*p,o.isValid()&&(!m||o.visible)&&(x+=o.percentage/100),e=u+x*p;let a={x:t[0],y:t[1],r:t[2]/2,innerR:t[3]/2,start:Math.round(1e3*i)/1e3,end:Math.round(1e3*e)/1e3};o.shapeType="arc",o.shapeArgs=a,(s=(e+i)/2)>1.5*Math.PI?s-=2*Math.PI:s<-Math.PI/2&&(s+=2*Math.PI),o.slicedTranslation={translateX:Math.round(Math.cos(s)*c),translateY:Math.round(Math.sin(s)*c)},h=Math.cos(s)*t[2]/2,r=Math.sin(s)*t[2]/2,o.tooltipPos=[t[0]+.7*h,t[1]+.7*r],o.half=s<-Math.PI/2||s>Math.PI/2?1:0,o.angle=s}f(this,"afterTranslate")}updateTotals(){let t,i,e=this.points,s=e.length,h=this.options.ignoreHiddenPoint,r=0;for(t=0;t<s;t++)(i=e[t]).isValid()&&(!h||i.visible)&&(r+=i.y);for(t=0,this.total=r;t<s;t++)(i=e[t]).percentage=r>0&&(i.visible||!h)?i.y/r*100:0,i.total=r}}return m.defaultOptions=p(r.defaultOptions,h),u(m.prototype,{axisTypes:[],directTouch:!0,drawGraph:void 0,drawTracker:i.prototype.drawTracker,getCenter:t.getCenter,getSymbol:c,invertible:!1,isCartesian:!1,noSharedTooltip:!0,pointAttribs:i.prototype.pointAttribs,pointClass:s,requireSorting:!1,searchPoint:c,trackerGroups:["group","dataLabelsGroup"]}),n.registerSeriesType("pie",m),m})),e(i,"Series/Pie/PieDataLabel.js",[i["Core/Series/DataLabel.js"],i["Core/Globals.js"],i["Core/Renderer/RendererUtilities.js"],i["Core/Series/SeriesRegistry.js"],i["Core/Utilities.js"]],(function(t,i,e,s,h){var r;let{composed:n,noop:o}=i,{distribute:a}=e,{series:l}=s,{arrayMax:c,clamp:d,defined:u,pick:f,pushUnique:p,relativeLength:g}=h;return function(i){let e={radialDistributionY:function(t,i){return(i.dataLabelPosition?.top||0)+t.distributeBox.pos},radialDistributionX:function(t,i,e,s,h){let r=h.dataLabelPosition;return t.getX(e<(r?.top||0)+2||e>(r?.bottom||0)-2?s:e,i.half,i,h)},justify:function(t,i,e,s){return s[0]+(t.half?-1:1)*(e+(i.dataLabelPosition?.distance||0))},alignToPlotEdges:function(t,i,e,s){let h=t.getBBox().width;return i?h+s:e-h-s},alignToConnectors:function(t,i,e,s){let h,r=0;return t.forEach((function(t){(h=t.dataLabel.getBBox().width)>r&&(r=h)})),i?r+s:e-r-s}};function s(t,i){let{center:e,options:s}=this,h=e[2]/2,r=t.angle||0,n=Math.cos(r),o=Math.sin(r),a=e[0]+n*h,l=e[1]+o*h,c=Math.min((s.slicedOffset||0)+(s.borderWidth||0),i/5);return{natural:{x:a+n*i,y:l+o*i},computed:{},alignment:i<0?"center":t.half?"right":"left",connectorPosition:{breakAt:{x:a+n*c,y:l+o*c},touchingSliceAt:{x:a,y:l}},distance:i}}function h(){let t,i,e,s=this,h=s.points,r=s.chart,n=r.plotWidth,o=r.plotHeight,d=r.plotLeft,p=Math.round(r.chartWidth/3),m=s.center,b=m[2]/2,x=m[1],v=[[],[]],y=[0,0,0,0],M=s.dataLabelPositioners,w=0;s.visible&&s.hasDataLabels?.()&&(h.forEach((t=>{(t.dataLabels||[]).forEach((t=>{t.shortened&&(t.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),t.shortened=!1)}))})),l.prototype.drawDataLabels.apply(s),h.forEach((t=>{(t.dataLabels||[]).forEach(((i,e)=>{let s=i.options,h=g(s?.distance||0,m[2]/2);0===e&&v[t.half].push(t),!u(s?.style?.width)&&i.getBBox().width>p&&(i.css({width:Math.round(.7*p)+"px"}),i.shortened=!0),i.dataLabelPosition=this.getDataLabelPosition(t,h),w=Math.max(w,h)}))})),v.forEach(((t,h)=>{let l,c,p,g=[],v=0;t.length&&(s.sortByAngle(t,h-.5),w>0&&(l=Math.max(0,x-b-w),c=Math.min(x+b+w,r.plotHeight),t.forEach((t=>{(t.dataLabels||[]).forEach((i=>{let e=i.dataLabelPosition;e&&e.distance>0&&(e.top=Math.max(0,x-b-e.distance),e.bottom=Math.min(x+b+e.distance,r.plotHeight),v=i.getBBox().height||21,i.lineHeight=r.renderer.fontMetrics(i.text||i).h+2*i.padding,t.distributeBox={target:(i.dataLabelPosition?.natural.y||0)-e.top+i.lineHeight/2,size:v,rank:t.y},g.push(t.distributeBox))}))})),a(g,p=c+v-l,p/5)),t.forEach((r=>{(r.dataLabels||[]).forEach((a=>{let l=a.options||{},c=r.distributeBox,p=a.dataLabelPosition,x=p?.natural.y||0,v=l.connectorPadding||0,w=a.lineHeight||21,k=(w-a.getBBox().height)/2,S=0,O=x,A="inherit";if(p){if(g&&u(c)&&p.distance>0&&(void 0===c.pos?A="hidden":(e=c.size,O=M.radialDistributionY(r,a))),l.justify)S=M.justify(r,a,b,m);else switch(l.alignTo){case"connectors":S=M.alignToConnectors(t,h,n,d);break;case"plotEdges":S=M.alignToPlotEdges(a,h,n,d);break;default:S=M.radialDistributionX(s,r,O-k,x,a)}if(p.attribs={visibility:A,align:p.alignment},p.posAttribs={x:S+(l.x||0)+({left:v,right:-v}[p.alignment]||0),y:O+(l.y||0)-w/2},p.computed.x=S,p.computed.y=O-k,f(l.crop,!0)){let t;S-(i=a.getBBox().width)<v&&1===h?(t=Math.round(i-S+v),y[3]=Math.max(t,y[3])):S+i>n-v&&0===h&&(t=Math.round(S+i-n+v),y[1]=Math.max(t,y[1])),O-e/2<0?y[0]=Math.max(Math.round(e/2-O),y[0]):O+e/2>o&&(y[2]=Math.max(Math.round(O+e/2-o),y[2])),p.sideOverflow=t}}}))})))})),(0===c(y)||this.verifyDataLabelOverflow(y))&&(this.placeDataLabels(),this.points.forEach((i=>{(i.dataLabels||[]).forEach((e=>{let{connectorColor:h,connectorWidth:n=1}=e.options||{},o=e.dataLabelPosition;if(n){let a;t=e.connector,o&&o.distance>0?(a=!t,t||(e.connector=t=r.renderer.path().addClass("highcharts-data-label-connector highcharts-color-"+i.colorIndex+(i.className?" "+i.className:"")).add(s.dataLabelsGroup)),r.styledMode||t.attr({"stroke-width":n,stroke:h||i.color||"#666666"}),t[a?"attr":"animate"]({d:i.getConnectorPath(e)}),t.attr({visibility:o.attribs?.visibility})):t&&(e.connector=t.destroy())}}))}))))}function r(){this.points.forEach((t=>{(t.dataLabels||[]).forEach((t=>{let i=t.dataLabelPosition;i?(i.sideOverflow&&(t.css({width:Math.max(t.getBBox().width-i.sideOverflow,0)+"px",textOverflow:(t.options?.style||{}).textOverflow||"ellipsis"}),t.shortened=!0),t.attr(i.attribs),t[t.moved?"animate":"attr"](i.posAttribs),t.moved=!0):t&&t.attr({y:-9999})})),delete t.distributeBox}),this)}function m(t){let i=this.center,e=this.options,s=e.center,h=e.minSize||80,r=h,n=null!==e.size;return!n&&(null!==s[0]?r=Math.max(i[2]-Math.max(t[1],t[3]),h):(r=Math.max(i[2]-t[1]-t[3],h),i[0]+=(t[3]-t[1])/2),null!==s[1]?r=d(r,h,i[2]-Math.max(t[0],t[2])):(r=d(r,h,i[2]-t[0]-t[2]),i[1]+=(t[0]-t[2])/2),r<i[2]?(i[2]=r,i[3]=Math.min(e.thickness?Math.max(0,r-2*e.thickness):Math.max(0,g(e.innerSize||0,r)),r),this.translate(i),this.drawDataLabels&&this.drawDataLabels()):n=!0),n}i.compose=function(i){if(t.compose(l),p(n,"PieDataLabel")){let t=i.prototype;t.dataLabelPositioners=e,t.alignDataLabel=o,t.drawDataLabels=h,t.getDataLabelPosition=s,t.placeDataLabels=r,t.verifyDataLabelOverflow=m}}}(r||(r={})),r})),e(i,"Core/Geometry/GeometryUtilities.js",[],(function(){var t,i;return(i=t||(t={})).getCenterOfPoints=function(t){let i=t.reduce(((t,i)=>(t.x+=i.x,t.y+=i.y,t)),{x:0,y:0});return{x:i.x/t.length,y:i.y/t.length}},i.getDistanceBetweenPoints=function(t,i){return Math.sqrt(Math.pow(i.x-t.x,2)+Math.pow(i.y-t.y,2))},i.getAngleBetweenPoints=function(t,i){return Math.atan2(i.x-t.x,i.y-t.y)},i.pointInPolygon=function({x:t,y:i},e){let s,h,r=e.length,n=!1;for(s=0,h=r-1;s<r;h=s++){let[r,o]=e[s],[a,l]=e[h];o>i!=l>i&&t<(a-r)*(i-o)/(l-o)+r&&(n=!n)}return n},t})),e(i,"Extensions/OverlappingDataLabels.js",[i["Core/Geometry/GeometryUtilities.js"],i["Core/Utilities.js"]],(function(t,i){let{pointInPolygon:e}=t,{addEvent:s,fireEvent:h,objectEach:r,pick:n}=i;function o(t){let i,s,r,n,o,l=t.length,c=(t,i)=>!(i.x>=t.x+t.width||i.x+i.width<=t.x||i.y>=t.y+t.height||i.y+i.height<=t.y),d=(t,i)=>{for(let s of t)if(e({x:s[0],y:s[1]},i))return!0;return!1},u=!1;for(let e=0;e<l;e++)(i=t[e])&&(i.oldOpacity=i.opacity,i.newOpacity=1,i.absoluteBox=function(t){if(t&&(!t.alignAttr||t.placed)){let i=t.box?0:t.padding||0,e=t.alignAttr||{x:t.attr("x"),y:t.attr("y")},s=t.getBBox();return t.width=s.width,t.height=s.height,{x:e.x+(t.parentGroup?.translateX||0)+i,y:e.y+(t.parentGroup?.translateY||0)+i,width:(t.width||0)-2*i,height:(t.height||0)-2*i,polygon:s?.polygon}}}(i));t.sort(((t,i)=>(i.labelrank||0)-(t.labelrank||0)));for(let i=0;i<l;++i){n=(s=t[i])&&s.absoluteBox;let e=n?.polygon;for(let h=i+1;h<l;++h){o=(r=t[h])&&r.absoluteBox;let i=!1;if(n&&o&&s!==r&&0!==s.newOpacity&&0!==r.newOpacity&&"hidden"!==s.visibility&&"hidden"!==r.visibility){let t=o.polygon;if(e&&t&&e!==t?d(e,t)&&(i=!0):c(n,o)&&(i=!0),i){let t=s.labelrank<r.labelrank?s:r,i=t.text;t.newOpacity=0,i?.element.querySelector("textPath")&&i.hide()}}}}for(let i of t)a(i,this)&&(u=!0);u&&h(this,"afterHideAllOverlappingLabels")}function a(t,i){let e,s,r=!1;return t&&(s=t.newOpacity,t.oldOpacity!==s&&(t.hasClass("highcharts-data-label")?(t[s?"removeClass":"addClass"]("highcharts-data-label-hidden"),e=function(){i.styledMode||t.css({pointerEvents:s?"auto":"none"})},r=!0,t[t.isOld?"animate":"attr"]({opacity:s},void 0,e),h(i,"afterHideOverlappingLabel")):t.attr({opacity:s})),t.isOld=!0),r}function l(){let t=this,i=[];for(let e of t.labelCollectors||[])i=i.concat(e());for(let e of t.yAxis||[])e.stacking&&e.options.stackLabels&&!e.options.stackLabels.allowOverlap&&r(e.stacking.stacks,(t=>{r(t,(t=>{t.label&&i.push(t.label)}))}));for(let e of t.series||[])if(e.visible&&e.hasDataLabels?.()){let s=e=>{for(let s of e)s.visible&&(s.dataLabels||[]).forEach((e=>{let h=e.options||{};e.labelrank=n(h.labelrank,s.labelrank,s.shapeArgs?.height),h.allowOverlap??Number(h.distance)>0?(e.oldOpacity=e.opacity,e.newOpacity=1,a(e,t)):i.push(e)}))};s(e.nodes||[]),s(e.points)}this.hideOverlappingLabels(i)}return{compose:function(t){let i=t.prototype;i.hideOverlappingLabels||(i.hideOverlappingLabels=o,s(t,"render",l))}}})),e(i,"Extensions/BorderRadius.js",[i["Core/Defaults.js"],i["Core/Globals.js"],i["Core/Utilities.js"]],(function(t,i,e){let{defaultOptions:s}=t,{noop:h}=i,{addEvent:r,extend:n,isObject:o,merge:a,relativeLength:l}=e,c={radius:0,scope:"stack",where:void 0},d=h,u=h;function f(t,i,e,s,h={}){let r=d(t,i,e,s,h),{innerR:n=0,r:o=e,start:a=0,end:c=0}=h;if(h.open||!h.borderRadius)return r;let u=c-a,f=Math.sin(u/2),p=Math.max(Math.min(l(h.borderRadius||0,o-n),(o-n)/2,o*f/(1+f)),0),g=Math.min(p,u/Math.PI*2*n),m=r.length-1;for(;m--;)!function(t,i,e){let s,h,r,n=t[i],o=t[i+1];if("Z"===o[0]&&(o=t[0]),"M"!==n[0]&&"L"!==n[0]||"A"!==o[0]?"A"===n[0]&&("M"===o[0]||"L"===o[0])&&(s=o,h=n):(s=n,h=o,r=!0),s&&h&&h.params){let n=h[1],o=h[5],a=h.params,{start:l,end:c,cx:d,cy:u}=a,f=o?n-e:n+e,p=f?Math.asin(e/f):0,g=o?p:-p,m=Math.cos(p)*f;r?(a.start=l+g,s[1]=d+m*Math.cos(l),s[2]=u+m*Math.sin(l),t.splice(i+1,0,["A",e,e,0,0,1,d+n*Math.cos(a.start),u+n*Math.sin(a.start)])):(a.end=c-g,h[6]=d+n*Math.cos(a.end),h[7]=u+n*Math.sin(a.end),t.splice(i+1,0,["A",e,e,0,0,1,d+m*Math.cos(c),u+m*Math.sin(c)])),h[4]=Math.abs(a.end-a.start)<Math.PI?0:1}}(r,m,m>1?g:p);return r}function p(){if(this.options.borderRadius&&(!this.chart.is3d||!this.chart.is3d())){let{options:t,yAxis:i}=this,e="percent"===t.stacking,h=s.plotOptions?.[this.type]?.borderRadius,r=g(t.borderRadius,o(h)?h:{}),a=i.options.reversed;for(let s of this.points){let{shapeArgs:h}=s;if("roundedRect"===s.shapeType&&h){let{width:o=0,height:c=0,y:d=0}=h,u=d,f=c;if("stack"===r.scope&&s.stackTotal){let h=i.translate(e?100:s.stackTotal,!1,!0,!1,!0),r=i.translate(t.threshold||0,!1,!0,!1,!0),n=this.crispCol(0,Math.min(h,r),0,Math.abs(h-r));u=n.y,f=n.height}let p=(s.negative?-1:1)*(a?-1:1)==-1,g=r.where;!g&&this.is("waterfall")&&Math.abs((s.yBottom||0)-(this.translatedThreshold||0))>this.borderWidth&&(g="all"),g||(g="end");let m=Math.min(l(r.radius,o),o/2,"all"===g?c/2:1/0)||0;"end"===g&&(p&&(u-=m),f+=m),n(h,{brBoxHeight:f,brBoxY:u,r:m})}}}}function g(t,i){return o(t)||(t={radius:t||0}),a(c,i,t)}function m(){let t=g(this.options.borderRadius);for(let i of this.points){let e=i.shapeArgs;e&&(e.borderRadius=l(t.radius,(e.r||0)-(e.innerR||0)))}}function b(t,i,e,s,h={}){let r=u(t,i,e,s,h),{r:n=0,brBoxHeight:o=s,brBoxY:a=i}=h,l=i-a,c=a+o-(i+s),d=l-n>-.1?0:n,f=c-n>-.1?0:n,p=Math.max(d&&l,0),g=Math.max(f&&c,0),m=[t+d,i],b=[t+e-d,i],x=[t+e,i+d],v=[t+e,i+s-f],y=[t+e-f,i+s],M=[t+f,i+s],w=[t,i+s-f],k=[t,i+d],S=(t,i)=>Math.sqrt(Math.pow(t,2)-Math.pow(i,2));if(p){let t=S(d,d-p);m[0]-=t,b[0]+=t,x[1]=k[1]=i+d-p}if(s<d-p){let h=S(d,d-p-s);x[0]=v[0]=t+e-d+h,y[0]=Math.min(x[0],y[0]),M[0]=Math.max(v[0],M[0]),w[0]=k[0]=t+d-h,x[1]=k[1]=i+s}if(g){let t=S(f,f-g);y[0]+=t,M[0]-=t,v[1]=w[1]=i+s-f+g}if(s<f-g){let h=S(f,f-g-s);x[0]=v[0]=t+e-f+h,b[0]=Math.min(x[0],b[0]),m[0]=Math.max(v[0],m[0]),w[0]=k[0]=t+f-h,v[1]=w[1]=i}return r.length=0,r.push(["M",...m],["L",...b],["A",d,d,0,0,1,...x],["L",...v],["A",f,f,0,0,1,...y],["L",...M],["A",f,f,0,0,1,...w],["L",...k],["A",d,d,0,0,1,...m],["Z"]),r}return{compose:function(t,i,e){let s=t.types.pie;if(!i.symbolCustomAttribs.includes("borderRadius")){let h=e.prototype.symbols;r(t,"afterColumnTranslate",p,{order:9}),r(s,"afterTranslate",m),i.symbolCustomAttribs.push("borderRadius","brBoxHeight","brBoxY"),d=h.arc,u=h.roundedRect,h.arc=f,h.roundedRect=b}},optionsToObject:g}})),e(i,"Core/Responsive.js",[i["Core/Utilities.js"]],(function(t){var i;let{diffObjects:e,extend:s,find:h,merge:r,pick:n,uniqueKey:o}=t;return function(t){function i(t,i){let e=t.condition;(e.callback||function(){return this.chartWidth<=n(e.maxWidth,Number.MAX_VALUE)&&this.chartHeight<=n(e.maxHeight,Number.MAX_VALUE)&&this.chartWidth>=n(e.minWidth,0)&&this.chartHeight>=n(e.minHeight,0)}).call(this)&&i.push(t._id)}function a(t,i){let s,n=this.options.responsive,a=this.currentResponsive,l=[];!i&&n&&n.rules&&n.rules.forEach((t=>{void 0===t._id&&(t._id=o()),this.matchResponsiveRule(t,l)}),this);let c=r(...l.map((t=>h((n||{}).rules||[],(i=>i._id===t)))).map((t=>t&&t.chartOptions)));c.isResponsiveOptions=!0,l=l.toString()||void 0,l===(a&&a.ruleIds)||(a&&(this.currentResponsive=void 0,this.updatingResponsive=!0,this.update(a.undoOptions,t,!0),this.updatingResponsive=!1),l?((s=e(c,this.options,!0,this.collectionsWithUpdate)).isResponsiveOptions=!0,this.currentResponsive={ruleIds:l,mergedOptions:c,undoOptions:s},this.updatingResponsive||this.update(c,t,!0)):this.currentResponsive=void 0)}t.compose=function(t){let e=t.prototype;return e.matchResponsiveRule||s(e,{matchResponsiveRule:i,setResponsive:a}),t}}(i||(i={})),i})),e(i,"masters/highcharts.src.js",[i["Core/Globals.js"],i["Core/Utilities.js"],i["Core/Defaults.js"],i["Core/Animation/Fx.js"],i["Core/Animation/AnimationUtilities.js"],i["Core/Renderer/HTML/AST.js"],i["Core/Templating.js"],i["Core/Renderer/RendererRegistry.js"],i["Core/Renderer/RendererUtilities.js"],i["Core/Renderer/SVG/SVGElement.js"],i["Core/Renderer/SVG/SVGRenderer.js"],i["Core/Renderer/HTML/HTMLElement.js"],i["Core/Axis/Axis.js"],i["Core/Axis/DateTimeAxis.js"],i["Core/Axis/LogarithmicAxis.js"],i["Core/Axis/PlotLineOrBand/PlotLineOrBand.js"],i["Core/Axis/Tick.js"],i["Core/Tooltip.js"],i["Core/Series/Point.js"],i["Core/Pointer.js"],i["Core/Legend/Legend.js"],i["Core/Legend/LegendSymbol.js"],i["Core/Chart/Chart.js"],i["Extensions/ScrollablePlotArea.js"],i["Core/Axis/Stacking/StackingAxis.js"],i["Core/Axis/Stacking/StackItem.js"],i["Core/Series/Series.js"],i["Core/Series/SeriesRegistry.js"],i["Series/Column/ColumnDataLabel.js"],i["Series/Pie/PieDataLabel.js"],i["Core/Series/DataLabel.js"],i["Extensions/OverlappingDataLabels.js"],i["Extensions/BorderRadius.js"],i["Core/Responsive.js"],i["Core/Color/Color.js"],i["Core/Time.js"]],(function(t,i,e,s,h,r,n,o,a,l,c,d,u,f,p,g,m,b,x,v,y,M,w,k,S,O,A,L,C,j,T,P,E,z,D,N){return t.AST=r,t.Axis=u,t.Chart=w,t.Color=D,t.DataLabel=T,t.Fx=s,t.HTMLElement=d,t.Legend=y,t.LegendSymbol=M,t.OverlappingDataLabels=t.OverlappingDataLabels||P,t.PlotLineOrBand=g,t.Point=x,t.Pointer=v,t.RendererRegistry=o,t.Series=A,t.SeriesRegistry=L,t.StackItem=O,t.SVGElement=l,t.SVGRenderer=c,t.Templating=n,t.Tick=m,t.Time=N,t.Tooltip=b,t.animate=h.animate,t.animObject=h.animObject,t.chart=w.chart,t.color=D.parse,t.dateFormat=n.dateFormat,t.defaultOptions=e.defaultOptions,t.distribute=a.distribute,t.format=n.format,t.getDeferredAnimation=h.getDeferredAnimation,t.getOptions=e.getOptions,t.numberFormat=n.numberFormat,t.seriesType=L.seriesType,t.setAnimation=h.setAnimation,t.setOptions=e.setOptions,t.stop=h.stop,t.time=e.defaultTime,t.timers=s.timers,E.compose(t.Series,t.SVGElement,t.SVGRenderer),C.compose(t.Series.types.column),T.compose(t.Series),f.compose(t.Axis),d.compose(t.SVGRenderer),y.compose(t.Chart),p.compose(t.Axis),P.compose(t.Chart),j.compose(t.Series.types.pie),g.compose(t.Chart,t.Axis),v.compose(t.Chart),z.compose(t.Chart),k.compose(t.Axis,t.Chart,t.Series),S.compose(t.Axis,t.Chart,t.Series),b.compose(t.Pointer),i.extend(t,i),t})),i["masters/highcharts.src.js"]._modules=i,i["masters/highcharts.src.js"]},t.exports?(e.default=e,t.exports=i&&i.document?e(i):e):(i.Highcharts&&i.Highcharts.error(16,!0),i.Highcharts=e(i))}));class a{parseSerie(t){return Array.isArray(t)?t.map((t=>this.chartSerieToSeriesOptions(t))):[this.chartSerieToSeriesOptions(t)]}parseAxis(t){return Array.isArray(t)?t.map((t=>this.chartAxisToAxisOptions(t))):this.chartAxisToAxisOptions(t)}parseTitle(t){return{text:t}}parseSubTitle(t){return{text:t}}buildFormatterTooltip(t){const i=Array.isArray(t)?t:[t];return{formatter:function(t){const e=i.findIndex((t=>t.name===this.series.name&&t.toolTipFormatter));return-1!==e?i[e].toolTipFormatter(this.series.name,this.x,this.y,this.point.name,this.point.percentage):t.defaultFormatter.call(this,t)}}}buildOnClickCallBack(t){return function(){t.emit({name:this.series.name,data:this.series.data,type:this.series.type,yAxis:this.x})}}buildResposiveConfig(){return{rules:[{condition:{maxWidth:500},chartOptions:{legend:{enabled:!1},xAxis:{labels:{enabled:!1},gridLineWidth:0},yAxis:{labels:{enabled:!1},gridLineWidth:0}}},{condition:{maxWidth:600},chartOptions:{xAxis:{labels:{style:{fontSize:"10px"}}},yAxis:{labels:{style:{fontSize:"10px"}}},title:{style:{fontSize:"14px"}},subtitle:{style:{fontSize:"12px"}}}},{condition:{maxWidth:400},chartOptions:{chart:{margin:[10,10,15,10]},subtitle:{text:null},title:{text:null}}}]}}buildDefaultChartOptions(){return{credits:{enabled:!1}}}chartSerieToSeriesOptions(t){const{name:i,data:e,color:s,showDataLabel:h,type:r,yAxis:n}=t;return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},i&&{name:i}),r&&{type:r}),e&&{data:e}),s&&{color:s}),h&&{dataLabels:{enabled:h}}),void 0!==n&&{yAxis:n})}chartAxisToAxisOptions(t){const{categories:i,color:e,text:s,invertedPosition:h,formatter:r,type:n}=t;return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},i&&{categories:i}),s&&{title:Object.assign({text:s},e&&{style:{color:e}})}),r&&{labels:{formatter:function(){return r(this.value)}}}),h&&{opposite:h}),n&&{type:n})}}class l extends a{buildOptions(t,i,e,s){return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({chart:Object.assign(Object.assign({type:"bar"},s.width&&{width:s.width}),s.height&&{height:s.height}),title:this.parseTitle(s.title)},s.subTitle&&{subtitle:this.parseSubTitle(s.subTitle)}),e&&{yAxis:this.parseAxis(e)}),i&&{xAxis:this.parseAxis(i)}),{series:this.parseSerie(t)}),this.buildResposiveConfig()),this.buildDefaultChartOptions()),{tooltip:this.buildFormatterTooltip(t),legend:{enabled:s.legendEnabled}}),s.onClickSerie&&{plotOptions:{series:{cursor:"pointer",point:{events:{click:this.buildOnClickCallBack(s.onClickSerie)}}}}})}render(t,i,e,s,h){this.chart=o.chart(t,this.buildOptions(i,e,s,h))}destroy(){var t;null===(t=this.chart)||void 0===t||t.destroy()}}class c extends a{buildOptions(t,i,e,s){return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({chart:Object.assign(Object.assign({type:"column"},s.width&&{width:s.width}),s.height&&{height:s.height}),title:this.parseTitle(s.title)},s.subTitle&&{subtitle:this.parseSubTitle(s.subTitle)}),e&&{yAxis:this.parseAxis(e)}),i&&{xAxis:this.parseAxis(i)}),{series:this.parseSerie(t)}),this.buildResposiveConfig()),this.buildDefaultChartOptions()),{tooltip:this.buildFormatterTooltip(t),legend:{enabled:s.legendEnabled}}),s.onClickSerie&&{plotOptions:{series:{cursor:"pointer",point:{events:{click:this.buildOnClickCallBack(s.onClickSerie)}}}}})}render(t,i,e,s,h){this.chart=o.chart(t,this.buildOptions(i,e,s,h))}destroy(){var t;null===(t=this.chart)||void 0===t||t.destroy()}}class d extends a{buildOptions(t,i){return Object.assign(Object.assign(Object.assign(Object.assign({chart:Object.assign(Object.assign({type:"pie"},i.width&&{width:i.width}),i.height&&{height:i.height}),title:this.parseTitle(i.title)},i.subTitle&&{subtitle:this.parseSubTitle(i.subTitle)}),{series:this.parseSerie(t),tooltip:this.buildFormatterTooltip(t),legend:{enabled:i.legendEnabled},plotOptions:{series:{dataLabels:[{enabled:!0,distance:10,format:"{point.name}"},{enabled:!0,distance:-20,format:"{point.y}",style:{fontSize:"0.9em"}}]},pie:Object.assign({cursor:"pointer",innerSize:"70%"},i.onClickSerie&&{point:{events:{click:this.buildOnClickCallBack(i.onClickSerie)}}})}}),this.buildResposiveConfig()),this.buildDefaultChartOptions())}render(t,i,e,s,h){this.chart=o.chart(t,this.buildOptions(i,h))}destroy(){var t;null===(t=this.chart)||void 0===t||t.destroy()}}class u extends a{buildOptions(t,i,e,s){return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({chart:Object.assign(Object.assign({},s.width&&{width:s.width}),s.height&&{height:s.height}),title:this.parseTitle(s.title)},s.subTitle&&{subtitle:this.parseSubTitle(s.subTitle)}),e&&{yAxis:this.parseAxis(e)}),i&&{xAxis:this.parseAxis(i)}),{series:this.parseSerie(t)}),this.buildResposiveConfig()),this.buildDefaultChartOptions()),{tooltip:this.buildFormatterTooltip(t),legend:{enabled:s.legendEnabled}}),s.onClickSerie&&{plotOptions:{series:{cursor:"pointer",point:{events:{click:this.buildOnClickCallBack(s.onClickSerie)}}}}})}render(t,i,e,s,h){this.chart=o.chart(t,this.buildOptions(i,e,s,h))}destroy(){var t;null===(t=this.chart)||void 0===t||t.destroy()}}class f extends a{buildOptions(t,i){return Object.assign(Object.assign(Object.assign(Object.assign({chart:Object.assign(Object.assign({type:"pie"},i.width&&{width:i.width}),i.height&&{height:i.height}),title:this.parseTitle(i.title)},i.subTitle&&{subtitle:this.parseSubTitle(i.subTitle)}),{series:this.parseSerie(t),tooltip:this.buildFormatterTooltip(t),legend:{enabled:i.legendEnabled},plotOptions:{series:Object.assign({dataLabels:[{enabled:!0,distance:10},{enabled:!0,distance:-40,format:"{point.percentage:.1f}%",style:{fontSize:"1.2em",textOutline:"none",opacity:.7},filter:{property:"percentage",operator:">",value:4}}],cursor:"pointer"},i.onClickSerie&&{point:{events:{click:this.buildOnClickCallBack(i.onClickSerie)}}})}}),this.buildResposiveConfig()),this.buildDefaultChartOptions())}render(t,i,e,s,h){this.chart=o.chart(t,this.buildOptions(i,h))}destroy(){var t;null===(t=this.chart)||void 0===t||t.destroy()}}const p=class{constructor(e){t(this,e),this.ezSerieClick=i(this,"ezSerieClick",7),this.STRATEGY_BY_CHART_TYPE=new Map,this.type=n.LINE,this.xAxis=void 0,this.yAxis=void 0,this.chartTitle="",this.chartSubTitle="",this.legendEnabled=!0,this.series=void 0,this.width=void 0,this.height=void 0,this.initializeStrategies()}initializeStrategies(){this.STRATEGY_BY_CHART_TYPE.set(n.COLUMN,new c),this.STRATEGY_BY_CHART_TYPE.set(n.BAR,new l),this.STRATEGY_BY_CHART_TYPE.set(n.LINE,new u),this.STRATEGY_BY_CHART_TYPE.set(n.PIE,new f),this.STRATEGY_BY_CHART_TYPE.set(n.DONUT,new d)}renderChart(){this.chartContext.render(this._container,this.series,this.xAxis,this.yAxis,{title:this.chartTitle,subTitle:this.chartSubTitle,legendEnabled:this.legendEnabled,onClickSerie:this.ezSerieClick,width:this.width,height:this.height})}componentWillLoad(){this.setChartStrategy()}componentWillUpdate(){this.renderChart()}componentDidLoad(){this.renderChart()}disconnectedCallback(){this.chartContext.destroy()}handleTypeChange(){this.setChartStrategy()}setChartStrategy(){const t=this.STRATEGY_BY_CHART_TYPE.get(this.type);this.chartContext=new r(t||new u)}render(){return e("div",{ref:t=>this._container=t})}static get watchers(){return{type:["handleTypeChange"]}}};p.style=":host{display:flex;flex-direction:column;width:100%}";export{p as ez_chart}
1
+ import{r as t,c as i,h as e}from"./p-23a36bb6.js";import{c as s,a as h}from"./p-112455b1.js";class r{constructor(t){this.strategy=t}setStrategy(t){this.strategy=t}render(t,i,e,s,h){return this.strategy.render(t,i,e,s,h)}destroy(){return this.strategy.destroy()}}var n;!function(t){t.COLUMN="column",t.BAR="bar",t.LINE="line",t.PIE="pie",t.DONUT="donut"}(n||(n={}));var o=s((function(t){var i,e;i="undefined"!=typeof window?window:h,e=function(t){var i={};function e(i,e,s,h){!i.hasOwnProperty(e)&&(i[e]=h.apply(null,s),t&&"function"==typeof CustomEvent&&t.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:e,module:i[e]}})))}return e(i,"Core/Globals.js",[],(function(){var i,e;return(e=i||(i={})).SVG_NS="http://www.w3.org/2000/svg",e.product="Highcharts",e.version="11.4.8",e.win=void 0!==t?t:{},e.doc=e.win.document,e.svg=e.doc&&e.doc.createElementNS&&!!e.doc.createElementNS(e.SVG_NS,"svg").createSVGRect,e.userAgent=e.win.navigator&&e.win.navigator.userAgent||"",e.isChrome=e.win.chrome,e.isFirefox=-1!==e.userAgent.indexOf("Firefox"),e.isMS=/(edge|msie|trident)/i.test(e.userAgent)&&!e.win.opera,e.isSafari=!e.isChrome&&-1!==e.userAgent.indexOf("Safari"),e.isTouchDevice=/(Mobile|Android|Windows Phone)/.test(e.userAgent),e.isWebKit=-1!==e.userAgent.indexOf("AppleWebKit"),e.deg2rad=2*Math.PI/360,e.hasBidiBug=e.isFirefox&&4>parseInt(e.userAgent.split("Firefox/")[1],10),e.marginNames=["plotTop","marginRight","marginBottom","plotLeft"],e.noop=function(){},e.supportsPassiveEvents=function(){let t=!1;if(!e.isMS){let i=Object.defineProperty({},"passive",{get:function(){t=!0}});e.win.addEventListener&&e.win.removeEventListener&&(e.win.addEventListener("testPassive",e.noop,i),e.win.removeEventListener("testPassive",e.noop,i))}return t}(),e.charts=[],e.composed=[],e.dateFormats={},e.seriesTypes={},e.symbolSizes={},e.chartCount=0,i})),e(i,"Core/Utilities.js",[i["Core/Globals.js"]],(function(t){let i,{charts:e,doc:s,win:h}=t;function r(i,e,s,n){let o=e?"Highcharts error":"Highcharts warning";32===i&&(i=`${o}: Deprecated member`);let a=u(i),l=a?`${o} #${i}: www.highcharts.com/errors/${i}/`:i.toString();if(void 0!==n){let t="";a&&(l+="?"),w(n,(function(i,e){t+=`\n - ${e}: ${i}`,a&&(l+=encodeURI(e)+"="+encodeURI(i))})),l+=t}S(t,"displayError",{chart:s,code:i,message:l,params:n},(function(){if(e)throw Error(l);h.console&&-1===r.messages.indexOf(l)&&console.warn(l)})),r.messages.push(l)}function n(t,i){return parseInt(t,i||10)}function o(t){return"string"==typeof t}function a(t){let i=Object.prototype.toString.call(t);return"[object Array]"===i||"[object Array Iterator]"===i}function l(t,i){return!(!t||"object"!=typeof t||i&&a(t))}function c(t){return l(t)&&"number"==typeof t.nodeType}function d(t){let i=t&&t.constructor;return!(!l(t,!0)||c(t)||!i||!i.name||"Object"===i.name)}function u(t){return"number"==typeof t&&!isNaN(t)&&t<1/0&&t>-1/0}function f(t){return null!=t}function p(t,i,e){let s,h=o(i)&&!f(e),r=(i,e)=>{f(i)?t.setAttribute(e,i):h?(s=t.getAttribute(e))||"class"!==e||(s=t.getAttribute(e+"Name")):t.removeAttribute(e)};return o(i)?r(e,i):w(i,r),s}function g(t){return a(t)?t:[t]}function m(t,i){let e;for(e in t||(t={}),i)t[e]=i[e];return t}function b(){let t=arguments,i=t.length;for(let e=0;e<i;e++){let i=t[e];if(null!=i)return i}}function x(t,i){m(t.style,i)}function v(t){return Math.pow(10,Math.floor(Math.log(t)/Math.LN10))}function y(t,i){return t>1e14?t:parseFloat(t.toPrecision(i||14))}(r||(r={})).messages=[],Math.easeInOutSine=function(t){return-.5*(Math.cos(Math.PI*t)-1)};let M=Array.prototype.find?function(t,i){return t.find(i)}:function(t,i){let e,s=t.length;for(e=0;e<s;e++)if(i(t[e],e))return t[e]};function w(t,i,e){for(let s in t)Object.hasOwnProperty.call(t,s)&&i.call(e||t[s],t[s],s,t)}function k(t,i,e){function s(i,e){let s=t.removeEventListener;s&&s.call(t,i,e,!1)}function h(e){let h,r;t.nodeName&&(i?(h={})[i]=!0:h=e,w(h,(function(t,i){if(e[i])for(r=e[i].length;r--;)s(i,e[i][r].fn)})))}let r="function"==typeof t&&t.prototype||t;if(Object.hasOwnProperty.call(r,"hcEvents")){let t=r.hcEvents;i?e?(t[i]=(t[i]||[]).filter((function(t){return e!==t.fn})),s(i,e)):(h(t),t[i]=[]):(h(t),delete r.hcEvents)}}function S(i,e,h,r){if(h=h||{},s.createEvent&&(i.dispatchEvent||i.fireEvent&&i!==t)){let t=s.createEvent("Events");t.initEvent(e,!0,!0),h=m(t,h),i.dispatchEvent?i.dispatchEvent(h):i.fireEvent(e,h)}else if(i.hcEvents){h.target||m(h,{preventDefault:function(){h.defaultPrevented=!0},target:i,type:e});let t=[],s=i,r=!1;for(;s.hcEvents;)Object.hasOwnProperty.call(s,"hcEvents")&&s.hcEvents[e]&&(t.length&&(r=!0),t.unshift.apply(t,s.hcEvents[e])),s=Object.getPrototypeOf(s);r&&t.sort(((t,i)=>t.order-i.order)),t.forEach((t=>{!1===t.fn.call(i,h)&&h.preventDefault()}))}r&&!h.defaultPrevented&&r.call(i,h)}w({map:"map",each:"forEach",grep:"filter",reduce:"reduce",some:"some"},(function(i,e){t[e]=function(t){return r(32,!1,void 0,{[`Highcharts.${e}`]:`use Array.${i}`}),Array.prototype[i].apply(t,[].slice.call(arguments,1))}}));let O=function(){let t=Math.random().toString(36).substring(2,9)+"-",e=0;return function(){return"highcharts-"+(i?"":t)+e++}}();return h.jQuery&&(h.jQuery.fn.highcharts=function(){let i=[].slice.call(arguments);if(this[0])return i[0]?(new(t[o(i[0])?i.shift():"Chart"])(this[0],i[0],i[1]),this):e[p(this[0],"data-highcharts-chart")]}),{addEvent:function(i,e,s,h={}){let r="function"==typeof i&&i.prototype||i;Object.hasOwnProperty.call(r,"hcEvents")||(r.hcEvents={});let n=r.hcEvents;t.Point&&i instanceof t.Point&&i.series&&i.series.chart&&(i.series.chart.runTrackerClick=!0);let o=i.addEventListener;return o&&o.call(i,e,s,!!t.supportsPassiveEvents&&{passive:void 0===h.passive?-1!==e.indexOf("touch"):h.passive,capture:!1}),n[e]||(n[e]=[]),n[e].push({fn:s,order:"number"==typeof h.order?h.order:1/0}),n[e].sort(((t,i)=>t.order-i.order)),function(){k(i,e,s)}},arrayMax:function(t){let i=t.length,e=t[0];for(;i--;)t[i]>e&&(e=t[i]);return e},arrayMin:function(t){let i=t.length,e=t[0];for(;i--;)t[i]<e&&(e=t[i]);return e},attr:p,clamp:function(t,i,e){return t>i?t<e?t:e:i},clearTimeout:function(t){f(t)&&clearTimeout(t)},correctFloat:y,createElement:function(t,i,e,h,r){let n=s.createElement(t);return i&&m(n,i),r&&x(n,{padding:"0",border:"none",margin:"0"}),e&&x(n,e),h&&h.appendChild(n),n},crisp:(t,i=0,e)=>{let s=i%2/2,h=e?-1:1;return(Math.round(t*h-s)+s)*h},css:x,defined:f,destroyObjectProperties:function(t,i,e){w(t,(function(s,h){s!==i&&s?.destroy&&s.destroy(),(s?.destroy||!e)&&delete t[h]}))},diffObjects:function(t,i,e,s){let h={};return function t(i,h,r,n){let o=e?h:i;w(i,(function(e,c){if(!n&&s&&s.indexOf(c)>-1&&h[c]){e=g(e),r[c]=[];for(let i=0;i<Math.max(e.length,h[c].length);i++)h[c][i]&&(void 0===e[i]?r[c][i]=h[c][i]:(r[c][i]={},t(e[i],h[c][i],r[c][i],n+1)))}else l(e,!0)&&!e.nodeType?(r[c]=a(e)?[]:{},t(e,h[c]||{},r[c],n+1),0!==Object.keys(r[c]).length||"colorAxis"===c&&0===n||delete r[c]):(i[c]!==h[c]||c in i&&!(c in h))&&"__proto__"!==c&&"constructor"!==c&&(r[c]=o[c])}))}(t,i,h,0),h},discardElement:function(t){t&&t.parentElement&&t.parentElement.removeChild(t)},erase:function(t,i){let e=t.length;for(;e--;)if(t[e]===i){t.splice(e,1);break}},error:r,extend:m,extendClass:function(t,i){let e=function(){};return m(e.prototype=new t,i),e},find:M,fireEvent:S,getClosestDistance:function(t,i){let e,s,h,r=!i;return t.forEach((t=>{if(t.length>1)for(h=t.length-1;h>0;h--)(s=t[h]-t[h-1])<0&&!r?(i?.(),i=void 0):s&&(void 0===e||s<e)&&(e=s)})),e},getMagnitude:v,getNestedProperty:function(t,i){let e=t.split(".");for(;e.length&&f(i);){let t=e.shift();if(void 0===t||"__proto__"===t)return;if("this"===t){let t;return l(i)&&(t=i["@this"]),t??i}let s=i[t];if(!f(s)||"function"==typeof s||"number"==typeof s.nodeType||s===h)return;i=s}return i},getStyle:function t(i,e,s){let r;if("width"===e){let e=Math.min(i.offsetWidth,i.scrollWidth),s=i.getBoundingClientRect&&i.getBoundingClientRect().width;return s<e&&s>=e-1&&(e=Math.floor(s)),Math.max(0,e-(t(i,"padding-left",!0)||0)-(t(i,"padding-right",!0)||0))}if("height"===e)return Math.max(0,Math.min(i.offsetHeight,i.scrollHeight)-(t(i,"padding-top",!0)||0)-(t(i,"padding-bottom",!0)||0));let o=h.getComputedStyle(i,void 0);return o&&(r=o.getPropertyValue(e),b(s,"opacity"!==e)&&(r=n(r))),r},inArray:function(t,i,e){return r(32,!1,void 0,{"Highcharts.inArray":"use Array.indexOf"}),i.indexOf(t,e)},insertItem:function(t,i){let e,s=t.options.index,h=i.length;for(e=t.options.isInternal?h:0;e<h+1;e++)if(!i[e]||u(s)&&s<b(i[e].options.index,i[e]._i)||i[e].options.isInternal){i.splice(e,0,t);break}return e},isArray:a,isClass:d,isDOMElement:c,isFunction:function(t){return"function"==typeof t},isNumber:u,isObject:l,isString:o,keys:function(t){return r(32,!1,void 0,{"Highcharts.keys":"use Object.keys"}),Object.keys(t)},merge:function(){let t,i=arguments,e={},s=function(t,i){return"object"!=typeof t&&(t={}),w(i,(function(e,h){"__proto__"!==h&&"constructor"!==h&&(t[h]=!l(e,!0)||d(e)||c(e)?i[h]:s(t[h]||{},e))})),t};!0===i[0]&&(e=i[1],i=Array.prototype.slice.call(i,2));let h=i.length;for(t=0;t<h;t++)e=s(e,i[t]);return e},normalizeTickInterval:function(t,i,e,s,h){let r,n=t,o=t/(e=b(e,v(t)));for(!i&&(i=h?[1,1.2,1.5,2,2.5,3,4,5,6,8,10]:[1,2,2.5,5,10],!1===s&&(1===e?i=i.filter((function(t){return t%1==0})):e<=.1&&(i=[1/e]))),r=0;r<i.length&&(n=i[r],(!h||!(n*e>=t))&&(h||!(o<=(i[r]+(i[r+1]||i[r]))/2)));r++);return y(n*e,-Math.round(Math.log(.001)/Math.LN10))},objectEach:w,offset:function(t){let i=s.documentElement,e=t.parentElement||t.parentNode?t.getBoundingClientRect():{top:0,left:0,width:0,height:0};return{top:e.top+(h.pageYOffset||i.scrollTop)-(i.clientTop||0),left:e.left+(h.pageXOffset||i.scrollLeft)-(i.clientLeft||0),width:e.width,height:e.height}},pad:function(t,i,e){return Array((i||2)+1-String(t).replace("-","").length).join(e||"0")+t},pick:b,pInt:n,pushUnique:function(t,i){return 0>t.indexOf(i)&&!!t.push(i)},relativeLength:function(t,i,e){return/%$/.test(t)?i*parseFloat(t)/100+(e||0):parseFloat(t)},removeEvent:k,replaceNested:function(t,...i){let e,s;do{for(s of(e=t,i))t=t.replace(s[0],s[1])}while(t!==e);return t},splat:g,stableSort:function(t,i){let e,s,h=t.length;for(s=0;s<h;s++)t[s].safeI=s;for(t.sort((function(t,s){return 0===(e=i(t,s))?t.safeI-s.safeI:e})),s=0;s<h;s++)delete t[s].safeI},syncTimeout:function(t,i,e){return i>0?setTimeout(t,i,e):(t.call(0,e),-1)},timeUnits:{millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5,month:24192e5,year:314496e5},uniqueKey:O,useSerialIds:function(t){return i=b(t,i)},wrap:function(t,i,e){let s=t[i];t[i]=function(){let t=arguments,i=this;return e.apply(this,[function(){return s.apply(i,arguments.length?arguments:t)}].concat([].slice.call(arguments)))}}}})),e(i,"Core/Chart/ChartDefaults.js",[],(function(){return{alignThresholds:!1,panning:{enabled:!1,type:"x"},styledMode:!1,borderRadius:0,colorCount:10,allowMutatingData:!0,ignoreHiddenSeries:!0,spacing:[10,10,15,10],resetZoomButton:{theme:{},position:{}},reflow:!0,type:"line",zooming:{singleTouch:!1,resetButton:{theme:{zIndex:6},position:{align:"right",x:-10,y:10}}},width:null,height:null,borderColor:"#334eff",backgroundColor:"#ffffff",plotBorderColor:"#cccccc"}})),e(i,"Core/Color/Palettes.js",[],(function(){return{colors:["#2caffe","#544fc5","#00e272","#fe6a35","#6b8abc","#d568fb","#2ee0ca","#fa4b42","#feb56a","#91e8e1"]}})),e(i,"Core/Time.js",[i["Core/Globals.js"],i["Core/Utilities.js"]],(function(t,i){let{win:e}=t,{defined:s,error:h,extend:r,isNumber:n,isObject:o,merge:a,objectEach:l,pad:c,pick:d,splat:u,timeUnits:f}=i,p=t.isSafari&&e.Intl&&e.Intl.DateTimeFormat.prototype.formatRange,g=t.isSafari&&e.Intl&&!e.Intl.DateTimeFormat.prototype.formatRange;class m{constructor(t){this.options={},this.useUTC=!1,this.variableTimezone=!1,this.Date=e.Date,this.getTimezoneOffset=this.timezoneOffsetFunction(),this.update(t)}get(t,i){if(this.variableTimezone||this.timezoneOffset){let e=i.getTime(),s=e-this.getTimezoneOffset(i);i.setTime(s);let h=i["getUTC"+t]();return i.setTime(e),h}return this.useUTC?i["getUTC"+t]():i["get"+t]()}set(t,i,e){if(this.variableTimezone||this.timezoneOffset){if("Milliseconds"===t||"Seconds"===t||"Minutes"===t&&this.getTimezoneOffset(i)%36e5==0)return i["setUTC"+t](e);let s=this.getTimezoneOffset(i),h=i.getTime()-s;i.setTime(h),i["setUTC"+t](e);let r=this.getTimezoneOffset(i);return h=i.getTime()+r,i.setTime(h)}return this.useUTC||p&&"FullYear"===t?i["setUTC"+t](e):i["set"+t](e)}update(t={}){let i=d(t.useUTC,!0);this.options=t=a(!0,this.options,t),this.Date=t.Date||e.Date||Date,this.useUTC=i,this.timezoneOffset=i&&t.timezoneOffset||void 0,this.getTimezoneOffset=this.timezoneOffsetFunction(),this.variableTimezone=i&&!(!t.getTimezoneOffset&&!t.timezone)}makeTime(t,i,e,s,h,r){let n,o,a;return this.useUTC?(n=this.Date.UTC.apply(0,arguments),o=this.getTimezoneOffset(n),n+=o,o!==(a=this.getTimezoneOffset(n))?n+=a-o:o-36e5!==this.getTimezoneOffset(n-36e5)||g||(n-=36e5)):n=new this.Date(t,i,d(e,1),d(s,0),d(h,0),d(r,0)).getTime(),n}timezoneOffsetFunction(){let t=this,i=this.options,e=i.getTimezoneOffset;return this.useUTC?i.timezone?t=>{try{let e=`shortOffset,${i.timezone||""}`,[s,h,r,o,a=0]=(m.formatCache[e]=m.formatCache[e]||Intl.DateTimeFormat("en",{timeZone:i.timezone,timeZoneName:"shortOffset"})).format(t).split(/(GMT|:)/).map(Number),l=-36e5*(r+a/60);if(n(l))return l}catch(t){h(34)}return 0}:this.useUTC&&e?t=>6e4*e(t.valueOf()):()=>6e4*(t.timezoneOffset||0):t=>6e4*new Date(t.toString()).getTimezoneOffset()}dateFormat(i,e,h){if(!s(e)||isNaN(e))return t.defaultOptions.lang&&t.defaultOptions.lang.invalidDate||"";i=d(i,"%Y-%m-%d %H:%M:%S");let n=this,o=new this.Date(e),a=this.get("Hours",o),u=this.get("Day",o),f=this.get("Date",o),p=this.get("Month",o),g=this.get("FullYear",o),m=t.defaultOptions.lang,b=m&&m.weekdays,x=m&&m.shortWeekdays;return l(r({a:x?x[u]:b[u].substr(0,3),A:b[u],d:c(f),e:c(f,2," "),w:u,b:m.shortMonths[p],B:m.months[p],m:c(p+1),o:p+1,y:g.toString().substr(2,2),Y:g,H:c(a),k:a,I:c(a%12||12),l:a%12||12,M:c(this.get("Minutes",o)),p:a<12?"AM":"PM",P:a<12?"am":"pm",S:c(this.get("Seconds",o)),L:c(Math.floor(e%1e3),3)},t.dateFormats),(function(t,s){for(;-1!==i.indexOf("%"+s);)i=i.replace("%"+s,"function"==typeof t?t.call(n,e):t)})),h?i.substr(0,1).toUpperCase()+i.substr(1):i}resolveDTLFormat(t){return o(t,!0)?t:{main:(t=u(t))[0],from:t[1],to:t[2]}}getTimeTicks(t,i,e,h){let n,o,a,l,c=this,u=[],p={},g=new(0,c.Date)(i),m=t.unitRange,b=t.count||1;if(h=d(h,1),s(i)){c.set("Milliseconds",g,m>=f.second?0:b*Math.floor(c.get("Milliseconds",g)/b)),m>=f.second&&c.set("Seconds",g,m>=f.minute?0:b*Math.floor(c.get("Seconds",g)/b)),m>=f.minute&&c.set("Minutes",g,m>=f.hour?0:b*Math.floor(c.get("Minutes",g)/b)),m>=f.hour&&c.set("Hours",g,m>=f.day?0:b*Math.floor(c.get("Hours",g)/b)),m>=f.day&&c.set("Date",g,m>=f.month?1:Math.max(1,b*Math.floor(c.get("Date",g)/b))),m>=f.month&&(c.set("Month",g,m>=f.year?0:b*Math.floor(c.get("Month",g)/b)),o=c.get("FullYear",g)),m>=f.year&&(o-=o%b,c.set("FullYear",g,o)),m===f.week&&(l=c.get("Day",g),c.set("Date",g,c.get("Date",g)-l+h+(l<h?-7:0))),o=c.get("FullYear",g);let t=c.get("Month",g),r=c.get("Date",g),d=c.get("Hours",g);i=g.getTime(),(c.variableTimezone||!c.useUTC)&&s(e)&&(a=e-i>4*f.month||c.getTimezoneOffset(i)!==c.getTimezoneOffset(e));let x=g.getTime();for(n=1;x<e;)u.push(x),m===f.year?x=c.makeTime(o+n*b,0):m===f.month?x=c.makeTime(o,t+n*b):!a||m!==f.day&&m!==f.week?a&&m===f.hour&&b>1?x=c.makeTime(o,t,r,d+n*b):x+=m*b:x=c.makeTime(o,t,r+n*b*(m===f.day?1:7)),n++;u.push(x),m<=f.hour&&u.length<1e4&&u.forEach((function(t){t%18e5==0&&"000000000"===c.dateFormat("%H%M%S%L",t)&&(p[t]="day")}))}return u.info=r(t,{higherRanks:p,totalRange:m*b}),u}getDateFormat(t,i,e,s){let h=this.dateFormat("%m-%d %H:%M:%S.%L",i),r="01-01 00:00:00.000",n={millisecond:15,second:12,minute:9,hour:6,day:3},o="millisecond",a=o;for(o in f){if(t===f.week&&+this.dateFormat("%w",i)===e&&h.substr(6)===r.substr(6)){o="week";break}if(f[o]>t){o=a;break}if(n[o]&&h.substr(n[o])!==r.substr(n[o]))break;"week"!==o&&(a=o)}return this.resolveDTLFormat(s[o]).main}}return m.formatCache={},m})),e(i,"Core/Defaults.js",[i["Core/Chart/ChartDefaults.js"],i["Core/Globals.js"],i["Core/Color/Palettes.js"],i["Core/Time.js"],i["Core/Utilities.js"]],(function(t,i,e,s,h){let{isTouchDevice:r}=i,{fireEvent:n,merge:o}=h,a={colors:e.colors,symbols:["circle","diamond","square","triangle","triangle-down"],lang:{loading:"Loading...",months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],weekdays:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],decimalPoint:".",numericSymbols:["k","M","G","T","P","E"],resetZoom:"Reset zoom",resetZoomTitle:"Reset zoom level 1:1",thousandsSep:" "},global:{buttonTheme:{fill:"#f7f7f7",padding:8,r:2,stroke:"#cccccc","stroke-width":1,style:{color:"#333333",cursor:"pointer",fontSize:"0.8em",fontWeight:"normal"},states:{hover:{fill:"#e6e6e6"},select:{fill:"#e6e9ff",style:{color:"#000000",fontWeight:"bold"}},disabled:{style:{color:"#cccccc"}}}}},time:{Date:void 0,getTimezoneOffset:void 0,timezone:void 0,timezoneOffset:0,useUTC:!0},chart:t,title:{style:{color:"#333333",fontWeight:"bold"},text:"Chart title",align:"center",margin:15,widthAdjust:-44},subtitle:{style:{color:"#666666",fontSize:"0.8em"},text:"",align:"center",widthAdjust:-44},caption:{margin:15,style:{color:"#666666",fontSize:"0.8em"},text:"",align:"left",verticalAlign:"bottom"},plotOptions:{},legend:{enabled:!0,align:"center",alignColumns:!0,className:"highcharts-no-tooltip",events:{},layout:"horizontal",itemMarginBottom:2,itemMarginTop:2,labelFormatter:function(){return this.name},borderColor:"#999999",borderRadius:0,navigation:{style:{fontSize:"0.8em"},activeColor:"#0022ff",inactiveColor:"#cccccc"},itemStyle:{color:"#333333",cursor:"pointer",fontSize:"0.8em",textDecoration:"none",textOverflow:"ellipsis"},itemHoverStyle:{color:"#000000"},itemHiddenStyle:{color:"#666666",textDecoration:"line-through"},shadow:!1,itemCheckboxStyle:{position:"absolute",width:"13px",height:"13px"},squareSymbol:!0,symbolPadding:5,verticalAlign:"bottom",x:0,y:0,title:{style:{fontSize:"0.8em",fontWeight:"bold"}}},loading:{labelStyle:{fontWeight:"bold",position:"relative",top:"45%"},style:{position:"absolute",backgroundColor:"#ffffff",opacity:.5,textAlign:"center"}},tooltip:{enabled:!0,animation:{duration:300,easing:t=>Math.sqrt(1-Math.pow(t-1,2))},borderRadius:3,dateTimeLabelFormats:{millisecond:"%A, %e %b, %H:%M:%S.%L",second:"%A, %e %b, %H:%M:%S",minute:"%A, %e %b, %H:%M",hour:"%A, %e %b, %H:%M",day:"%A, %e %b %Y",week:"Week from %A, %e %b %Y",month:"%B %Y",year:"%Y"},footerFormat:"",headerShape:"callout",hideDelay:500,padding:8,shape:"callout",shared:!1,snap:r?25:10,headerFormat:'<span style="font-size: 0.8em">{point.key}</span><br/>',pointFormat:'<span style="color:{point.color}">●</span> {series.name}: <b>{point.y}</b><br/>',backgroundColor:"#ffffff",borderWidth:void 0,shadow:!0,stickOnContact:!1,style:{color:"#333333",cursor:"default",fontSize:"0.8em"},useHTML:!1},credits:{enabled:!0,href:"https://www.highcharts.com?credits",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#999999",fontSize:"0.6em"},text:"Highcharts.com"}};a.chart.styledMode=!1;let l=new s(a.time);return{defaultOptions:a,defaultTime:l,getOptions:function(){return a},setOptions:function(t){return n(i,"setOptions",{options:t}),o(!0,a,t),(t.time||t.global)&&(i.time?i.time.update(o(a.global,a.time,t.global,t.time)):i.time=l),a}}})),e(i,"Core/Color/Color.js",[i["Core/Globals.js"],i["Core/Utilities.js"]],(function(t,i){let{isNumber:e,merge:s,pInt:h}=i;class r{static parse(t){return t?new r(t):r.None}constructor(i){let e,s,h,n;this.rgba=[NaN,NaN,NaN,NaN],this.input=i;let o=t.Color;if(o&&o!==r)return new o(i);if("object"==typeof i&&void 0!==i.stops)this.stops=i.stops.map((t=>new r(t[1])));else if("string"==typeof i){if(this.input=i=r.names[i.toLowerCase()]||i,"#"===i.charAt(0)){let t=i.length,e=parseInt(i.substr(1),16);7===t?s=[(16711680&e)>>16,(65280&e)>>8,255&e,1]:4===t&&(s=[(3840&e)>>4|(3840&e)>>8,(240&e)>>4|240&e,(15&e)<<4|15&e,1])}if(!s)for(h=r.parsers.length;h--&&!s;)(e=(n=r.parsers[h]).regex.exec(i))&&(s=n.parse(e))}s&&(this.rgba=s)}get(t){let i=this.input,h=this.rgba;if("object"==typeof i&&void 0!==this.stops){let e=s(i);return e.stops=[].slice.call(e.stops),this.stops.forEach(((i,s)=>{e.stops[s]=[e.stops[s][0],i.get(t)]})),e}return h&&e(h[0])?"rgb"===t||!t&&1===h[3]?"rgb("+h[0]+","+h[1]+","+h[2]+")":"a"===t?`${h[3]}`:"rgba("+h.join(",")+")":i}brighten(t){let i=this.rgba;if(this.stops)this.stops.forEach((function(i){i.brighten(t)}));else if(e(t)&&0!==t)for(let e=0;e<3;e++)i[e]+=h(255*t),i[e]<0&&(i[e]=0),i[e]>255&&(i[e]=255);return this}setOpacity(t){return this.rgba[3]=t,this}tweenTo(t,i){let s=this.rgba,h=t.rgba;if(!e(s[0])||!e(h[0]))return t.input||"none";let r=1!==h[3]||1!==s[3];return(r?"rgba(":"rgb(")+Math.round(h[0]+(s[0]-h[0])*(1-i))+","+Math.round(h[1]+(s[1]-h[1])*(1-i))+","+Math.round(h[2]+(s[2]-h[2])*(1-i))+(r?","+(h[3]+(s[3]-h[3])*(1-i)):"")+")"}}return r.names={white:"#ffffff",black:"#000000"},r.parsers=[{regex:/rgba\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d?(?:\.\d+)?)\s*\)/,parse:function(t){return[h(t[1]),h(t[2]),h(t[3]),parseFloat(t[4],10)]}},{regex:/rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)/,parse:function(t){return[h(t[1]),h(t[2]),h(t[3]),1]}}],r.None=new r(""),r})),e(i,"Core/Animation/Fx.js",[i["Core/Color/Color.js"],i["Core/Globals.js"],i["Core/Utilities.js"]],(function(t,i,e){let{parse:s}=t,{win:h}=i,{isNumber:r,objectEach:n}=e;class o{constructor(t,i,e){this.pos=NaN,this.options=i,this.elem=t,this.prop=e}dSetter(){let t=this.paths,i=t&&t[0],e=t&&t[1],s=this.now||0,h=[];if(1!==s&&i&&e)if(i.length===e.length&&s<1)for(let t=0;t<e.length;t++){let n=i[t],o=e[t],a=[];for(let t=0;t<o.length;t++){let i=n[t],e=o[t];a[t]=r(i)&&r(e)&&("A"!==o[0]||4!==t&&5!==t)?i+s*(e-i):e}h.push(a)}else h=e;else h=this.toD||[];this.elem.attr("d",h,void 0,!0)}update(){let t=this.elem,i=this.prop,e=this.now,s=this.options.step;this[i+"Setter"]?this[i+"Setter"]():t.attr?t.element&&t.attr(i,e,null,!0):t.style[i]=e+this.unit,s&&s.call(t,e,this)}run(t,i,e){let s=this,r=s.options,n=function(t){return!n.stopped&&s.step(t)},a=h.requestAnimationFrame||function(t){setTimeout(t,13)},l=function(){for(let t=0;t<o.timers.length;t++)o.timers[t]()||o.timers.splice(t--,1);o.timers.length&&a(l)};t!==i||this.elem["forceAnimate:"+this.prop]?(this.startTime=+new Date,this.start=t,this.end=i,this.unit=e,this.now=this.start,this.pos=0,n.elem=this.elem,n.prop=this.prop,n()&&1===o.timers.push(n)&&a(l)):(delete r.curAnim[this.prop],r.complete&&0===Object.keys(r.curAnim).length&&r.complete.call(this.elem))}step(t){let i,e,s=+new Date,h=this.options,r=this.elem,o=h.complete,a=h.duration,l=h.curAnim;return r.attr&&!r.element?i=!1:t||s>=a+this.startTime?(this.now=this.end,this.pos=1,this.update(),l[this.prop]=!0,e=!0,n(l,(function(t){!0!==t&&(e=!1)})),e&&o&&o.call(r),i=!1):(this.pos=h.easing((s-this.startTime)/a),this.now=this.start+(this.end-this.start)*this.pos,this.update(),i=!0),i}initPath(t,i,e){let s,h,n,o,a=t.startX,l=t.endX,c=e.slice(),d=t.isArea,u=d?2:1,f=i&&e.length>i.length&&e.hasStackedCliffs,p=i&&i.slice();if(!p||f)return[c,c];function g(t,i){for(;t.length<h;){let e=t[0],s=i[h-t.length];if(s&&"M"===e[0]&&(t[0]="C"===s[0]?["C",e[1],e[2],e[1],e[2],e[1],e[2]]:["L",e[1],e[2]]),t.unshift(e),d){let i=t.pop();t.push(t[t.length-1],i)}}}function m(t){for(;t.length<h;){let i=t[Math.floor(t.length/u)-1].slice();if("C"===i[0]&&(i[1]=i[5],i[2]=i[6]),d){let e=t[Math.floor(t.length/u)].slice();t.splice(t.length/2,0,i,e)}else t.push(i)}}if(a&&l&&l.length){for(n=0;n<a.length;n++){if(a[n]===l[0]){s=n;break}if(a[0]===l[l.length-a.length+n]){s=n,o=!0;break}if(a[a.length-1]===l[l.length-a.length+n]){s=a.length-n;break}}void 0===s&&(p=[])}return p.length&&r(s)&&(h=c.length+s*u,o?(g(p,c),m(c)):(g(c,p),m(p))),[p,c]}fillSetter(){o.prototype.strokeSetter.apply(this,arguments)}strokeSetter(){this.elem.attr(this.prop,s(this.start).tweenTo(s(this.end),this.pos),void 0,!0)}}return o.timers=[],o})),e(i,"Core/Animation/AnimationUtilities.js",[i["Core/Animation/Fx.js"],i["Core/Utilities.js"]],(function(t,i){let{defined:e,getStyle:s,isArray:h,isNumber:r,isObject:n,merge:o,objectEach:a,pick:l}=i;function c(t){return n(t)?o({duration:500,defer:0},t):{duration:t?500:0,defer:0}}function d(i,e){let s=t.timers.length;for(;s--;)t.timers[s].elem!==i||e&&e!==t.timers[s].prop||(t.timers[s].stopped=!0)}return{animate:function(i,e,l){let c,u,f,p,g="";n(l)||(p=arguments,l={duration:p[2],easing:p[3],complete:p[4]}),r(l.duration)||(l.duration=400),l.easing="function"==typeof l.easing?l.easing:Math[l.easing]||Math.easeInOutSine,l.curAnim=o(e),a(e,(function(r,n){d(i,n),f=new t(i,l,n),u=void 0,"d"===n&&h(e.d)?(f.paths=f.initPath(i,i.pathArray,e.d),f.toD=e.d,c=0,u=1):i.attr?c=i.attr(n):(c=parseFloat(s(i,n))||0,"opacity"!==n&&(g="px")),u||(u=r),"string"==typeof u&&u.match("px")&&(u=u.replace(/px/g,"")),f.run(c,u,g)}))},animObject:c,getDeferredAnimation:function(t,i,s){let h=c(i),r=0,o=0;return(s?[s]:t.series).forEach((t=>{let s=c(t.options.animation);r=n(i)&&e(i.defer)?h.defer:Math.max(r,s.duration+s.defer),o=Math.min(h.duration,s.duration)})),t.renderer.forExport&&(r=0),{defer:Math.max(0,r-o),duration:Math.min(r,o)}},setAnimation:function(t,i){i.renderer.globalAnimation=l(t,i.options.chart.animation,!0)},stop:d}})),e(i,"Core/Renderer/HTML/AST.js",[i["Core/Globals.js"],i["Core/Utilities.js"]],(function(t,i){let{SVG_NS:e,win:s}=t,{attr:h,createElement:r,css:n,error:o,isFunction:a,isString:l,objectEach:c,splat:d}=i,{trustedTypes:u}=s,f=u&&a(u.createPolicy)&&u.createPolicy("highcharts",{createHTML:t=>t}),p=f?f.createHTML(""):"",g=function(){try{return!!(new DOMParser).parseFromString(p,"text/html")}catch(t){return!1}}();class m{static filterUserAttributes(t){return c(t,((i,e)=>{let s=!0;-1===m.allowedAttributes.indexOf(e)&&(s=!1),-1!==["background","dynsrc","href","lowsrc","src"].indexOf(e)&&(s=l(i)&&m.allowedReferences.some((t=>0===i.indexOf(t)))),s||(o(33,!1,void 0,{"Invalid attribute in config":`${e}`}),delete t[e]),l(i)&&t[e]&&(t[e]=i.replace(/</g,"&lt;"))})),t}static parseStyle(t){return t.split(";").reduce(((t,i)=>{let e=i.split(":").map((t=>t.trim())),s=e.shift();return s&&e.length&&(t[s.replace(/-([a-z])/g,(t=>t[1].toUpperCase()))]=e.join(":")),t}),{})}static setElementHTML(t,i){t.innerHTML=m.emptyHTML,i&&new m(i).addToDOM(t)}constructor(t){this.nodes="string"==typeof t?this.parseMarkup(t):t}addToDOM(i){return function i(s,r){let a;return d(s).forEach((function(s){let l,d=s.tagName,u=s.textContent?t.doc.createTextNode(s.textContent):void 0,f=m.bypassHTMLFiltering;if(d)if("#text"===d)l=u;else if(-1!==m.allowedTags.indexOf(d)||f){let o=t.doc.createElementNS("svg"===d?e:r.namespaceURI||e,d),a=s.attributes||{};c(s,(function(t,i){"tagName"!==i&&"attributes"!==i&&"children"!==i&&"style"!==i&&"textContent"!==i&&(a[i]=t)})),h(o,f?a:m.filterUserAttributes(a)),s.style&&n(o,s.style),u&&o.appendChild(u),i(s.children||[],o),l=o}else o(33,!1,void 0,{"Invalid tagName in config":d});l&&r.appendChild(l),a=l})),a}(this.nodes,i)}parseMarkup(t){let i,e=[];if(t=t.trim().replace(/ style=(["'])/g," data-style=$1"),g)i=(new DOMParser).parseFromString(f?f.createHTML(t):t,"text/html");else{let e=r("div");e.innerHTML=t,i={body:e}}let s=(t,i)=>{let e=t.nodeName.toLowerCase(),h={tagName:e};"#text"===e&&(h.textContent=t.textContent||"");let r=t.attributes;if(r){let t={};[].forEach.call(r,(i=>{"data-style"===i.name?h.style=m.parseStyle(i.value):t[i.name]=i.value})),h.attributes=t}if(t.childNodes.length){let i=[];[].forEach.call(t.childNodes,(t=>{s(t,i)})),i.length&&(h.children=i)}i.push(h)};return[].forEach.call(i.body.childNodes,(t=>s(t,e))),e}}return m.allowedAttributes=["alt","aria-controls","aria-describedby","aria-expanded","aria-haspopup","aria-hidden","aria-label","aria-labelledby","aria-live","aria-pressed","aria-readonly","aria-roledescription","aria-selected","class","clip-path","color","colspan","cx","cy","d","dx","dy","disabled","fill","filterUnits","flood-color","flood-opacity","height","href","id","in","in2","markerHeight","markerWidth","offset","opacity","operator","orient","padding","paddingLeft","paddingRight","patternUnits","r","radius","refX","refY","role","scope","slope","src","startOffset","stdDeviation","stroke","stroke-linecap","stroke-width","style","tableValues","result","rowspan","summary","target","tabindex","text-align","text-anchor","textAnchor","textLength","title","type","valign","width","x","x1","x2","xlink:href","y","y1","y2","zIndex"],m.allowedReferences=["https://","http://","mailto:","/","../","./","#"],m.allowedTags=["a","abbr","b","br","button","caption","circle","clipPath","code","dd","defs","div","dl","dt","em","feComponentTransfer","feComposite","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feMorphology","feOffset","feMerge","feMergeNode","filter","h1","h2","h3","h4","h5","h6","hr","i","img","li","linearGradient","marker","ol","p","path","pattern","pre","rect","small","span","stop","strong","style","sub","sup","svg","table","text","textPath","thead","title","tbody","tspan","td","th","tr","u","ul","#text"],m.emptyHTML=p,m.bypassHTMLFiltering=!1,m})),e(i,"Core/Templating.js",[i["Core/Defaults.js"],i["Core/Utilities.js"]],(function(t,i){let{defaultOptions:e,defaultTime:s}=t,{extend:h,getNestedProperty:r,isArray:n,isNumber:o,isObject:a,pick:l,pInt:c}=i,d={add:(t,i)=>t+i,divide:(t,i)=>0!==i?t/i:"",eq:(t,i)=>t==i,each:function(t){let i=arguments[arguments.length-1];return!!n(t)&&t.map(((e,s)=>u(i.body,h(a(e)?e:{"@this":e},{"@index":s,"@first":0===s,"@last":s===t.length-1})))).join("")},ge:(t,i)=>t>=i,gt:(t,i)=>t>i,if:t=>!!t,le:(t,i)=>t<=i,lt:(t,i)=>t<i,multiply:(t,i)=>t*i,ne:(t,i)=>t!=i,subtract:(t,i)=>t-i,unless:t=>!t};function u(t="",i,h){let n,o,a,c=/\{([\w\:\.\,;\-\/<>%@"'’= #\(\)]+)\}/g,p=/\(([\w\:\.\,;\-\/<>%@"'= ]+)\)/g,g=[],m=/f$/,b=/\.(\d)/,x=e.lang,v=h&&h.time||s,y=h&&h.numberFormatter||f,M=(t="")=>{let e;return"true"===t||"false"!==t&&((e=Number(t)).toString()===t?e:r(t,i))},w=0;for(;null!==(n=c.exec(t));){let e=p.exec(n[1]);e&&(n=e,a=!0),o&&o.isBlock||(o={ctx:i,expression:n[1],find:n[0],isBlock:"#"===n[1].charAt(0),start:n.index,startInner:n.index+n[0].length,length:n[0].length});let s=n[1].split(" ")[0].replace("#","");d[s]&&(o.isBlock&&s===o.fn&&w++,o.fn||(o.fn=s));let h="else"===n[1];if(o.isBlock&&o.fn&&(n[1]===`/${o.fn}`||h))if(w)!h&&w--;else{let i=o.startInner,e=t.substr(i,n.index-i);void 0===o.body?(o.body=e,o.startInner=n.index+n[0].length):o.elseBody=e,o.find+=e+n[0],h||(g.push(o),o=void 0)}else o.isBlock||g.push(o);if(e&&!o?.isBlock)break}return g.forEach((e=>{let s,r,{body:n,elseBody:o,expression:a,fn:c}=e;if(c){let t=[e],l=a.split(" ");for(r=d[c].length;r--;)t.unshift(M(l[r+1]));s=d[c].apply(i,t),e.isBlock&&"boolean"==typeof s&&(s=u(s?n:o,i,h))}else{let t=a.split(":");if(s=M(t.shift()||""),t.length&&"number"==typeof s){let i=t.join(":");if(m.test(i)){let t=parseInt((i.match(b)||["","-1"])[1],10);null!==s&&(s=y(s,t,x.decimalPoint,i.indexOf(",")>-1?x.thousandsSep:""))}else s=v.dateFormat(i,s)}}t=t.replace(e.find,l(s,""))})),a?u(t,i,h):t}function f(t,i,s,h){let r,n;i=+i;let a=e.lang,d=((t=+t||0).toString().split(".")[1]||"").split("e")[0].length,u=t.toString().split("e"),f=i;-1===i?i=Math.min(d,20):o(i)?i&&u[1]&&u[1]<0&&((n=i+ +u[1])>=0?(u[0]=(+u[0]).toExponential(n).split("e")[0],i=n):(u[0]=u[0].split(".")[0]||0,t=i<20?(u[0]*Math.pow(10,u[1])).toFixed(i):0,u[1]=0)):i=2;let p=(Math.abs(u[1]?u[0]:t)+Math.pow(10,-Math.max(i,d)-1)).toFixed(i),g=String(c(p)),m=g.length>3?g.length%3:0;return s=l(s,a.decimalPoint),h=l(h,a.thousandsSep),r=(t<0?"-":"")+(m?g.substr(0,m)+h:""),0>+u[1]&&!f?r="0":r+=g.substr(m).replace(/(\d{3})(?=\d)/g,"$1"+h),i?r+=s+p.slice(-i):0==+r&&(r="0"),u[1]&&0!=+r&&(r+="e"+u[1]),r}return{dateFormat:function(t,i,e){return s.dateFormat(t,i,e)},format:u,helpers:d,numberFormat:f}})),e(i,"Core/Renderer/RendererRegistry.js",[i["Core/Globals.js"]],(function(t){var i,e;let s;return(e=i||(i={})).rendererTypes={},e.getRendererType=function(t=s){return e.rendererTypes[t]||e.rendererTypes[s]},e.registerRendererType=function(i,h,r){e.rendererTypes[i]=h,(!s||r)&&(s=i,t.Renderer=h)},i})),e(i,"Core/Renderer/RendererUtilities.js",[i["Core/Utilities.js"]],(function(t){var i;let{clamp:e,pick:s,pushUnique:h,stableSort:r}=t;return(i||(i={})).distribute=function t(i,n,o){let a,l,c,d,u,f,p=i,g=p.reducedLen||n,m=(t,i)=>t.target-i.target,b=[],x=i.length,v=[],y=b.push,M=!0,w=0;for(a=x;a--;)w+=i[a].size;if(w>g){for(r(i,((t,i)=>(i.rank||0)-(t.rank||0))),c=(f=i[0].rank===i[i.length-1].rank)?x/2:-1,l=f?c:x-1;c&&w>g;)d=i[a=Math.floor(l)],h(v,a)&&(w-=d.size),l+=c,f&&l>=i.length&&(c/=2,l=c);v.sort(((t,i)=>i-t)).forEach((t=>y.apply(b,i.splice(t,1))))}for(r(i,m),i=i.map((t=>({size:t.size,targets:[t.target],align:s(t.align,.5)})));M;){for(a=i.length;a--;)d=i[a],u=(Math.min.apply(0,d.targets)+Math.max.apply(0,d.targets))/2,d.pos=e(u-d.size*d.align,0,n-d.size);for(a=i.length,M=!1;a--;)a>0&&i[a-1].pos+i[a-1].size>i[a].pos&&(i[a-1].size+=i[a].size,i[a-1].targets=i[a-1].targets.concat(i[a].targets),i[a-1].align=.5,i[a-1].pos+i[a-1].size>n&&(i[a-1].pos=n-i[a-1].size),i.splice(a,1),M=!0)}return y.apply(p,b),a=0,i.some((i=>{let e=0;return(i.targets||[]).some((()=>(p[a].pos=i.pos+e,void 0!==o&&Math.abs(p[a].pos-p[a].target)>o?(p.slice(0,a+1).forEach((t=>delete t.pos)),p.reducedLen=(p.reducedLen||n)-.1*n,p.reducedLen>.1*n&&t(p,n,o),!0):(e+=p[a].size,a++,!1))))})),r(p,m),p},i})),e(i,"Core/Renderer/SVG/SVGElement.js",[i["Core/Animation/AnimationUtilities.js"],i["Core/Color/Color.js"],i["Core/Globals.js"],i["Core/Utilities.js"]],(function(t,i,e,s){let{animate:h,animObject:r,stop:n}=t,{deg2rad:o,doc:a,svg:l,SVG_NS:c,win:d}=e,{addEvent:u,attr:f,createElement:p,crisp:g,css:m,defined:b,erase:x,extend:v,fireEvent:y,isArray:M,isFunction:w,isObject:k,isString:S,merge:O,objectEach:A,pick:L,pInt:C,pushUnique:j,replaceNested:T,syncTimeout:P,uniqueKey:E}=s;class z{_defaultGetter(t){let i=L(this[t+"Value"],this[t],this.element?this.element.getAttribute(t):null,0);return/^-?[\d\.]+$/.test(i)&&(i=parseFloat(i)),i}_defaultSetter(t,i,e){e.setAttribute(i,t)}add(t){let i,e=this.renderer,s=this.element;return t&&(this.parentGroup=t),void 0!==this.textStr&&"text"===this.element.nodeName&&e.buildText(this),this.added=!0,(!t||t.handleZ||this.zIndex)&&(i=this.zIndexSetter()),i||(t?t.element:e.box).appendChild(s),this.onAdd&&this.onAdd(),this}addClass(t,i){let e=i?"":this.attr("class")||"";return(t=(t||"").split(/ /g).reduce((function(t,i){return-1===e.indexOf(i)&&t.push(i),t}),e?[e]:[]).join(" "))!==e&&this.attr("class",t),this}afterSetters(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)}align(t,i,e,s=!0){let h,r,n,o,a={},l=this.renderer,c=l.alignedObjects,d=!!t;t?(this.alignOptions=t,this.alignByTranslate=i,this.alignTo=e):(t=this.alignOptions||{},i=this.alignByTranslate,e=this.alignTo);let u=!e||S(e)?e||"renderer":void 0;u&&(d&&j(c,this),e=void 0);let f=L(e,l[u],l),p=t.align,g=t.verticalAlign;return h=(f.x||0)+(t.x||0),r=(f.y||0)+(t.y||0),"right"===p?n=1:"center"===p&&(n=2),n&&(h+=((f.width||0)-(t.width||0))/n),a[i?"translateX":"x"]=Math.round(h),"bottom"===g?o=1:"middle"===g&&(o=2),o&&(r+=((f.height||0)-(t.height||0))/o),a[i?"translateY":"y"]=Math.round(r),s&&(this[this.placed?"animate":"attr"](a),this.placed=!0),this.alignAttr=a,this}alignSetter(t){let i={left:"start",center:"middle",right:"end"};i[t]&&(this.alignValue=t,this.element.setAttribute("text-anchor",i[t]))}animate(t,i,e){let s=r(L(i,this.renderer.globalAnimation,!0)),n=s.defer;return a.hidden&&(s.duration=0),0!==s.duration?(e&&(s.complete=e),P((()=>{this.element&&h(this,t,s)}),n)):(this.attr(t,void 0,e||s.complete),A(t,(function(t,i){s.step&&s.step.call(this,t,{prop:i,pos:1,elem:this})}),this)),this}applyTextOutline(t){let i=this.element;-1!==t.indexOf("contrast")&&(t=t.replace(/contrast/g,this.renderer.getContrast(i.style.fill)));let s=t.split(" "),h=s[s.length-1],r=s[0];if(r&&"none"!==r&&e.svg){this.fakeTS=!0,r=r.replace(/(^[\d\.]+)(.*?)$/g,(function(t,i,e){return 2*Number(i)+e})),this.removeTextOutline();let t=a.createElementNS(c,"tspan");f(t,{class:"highcharts-text-outline",fill:h,stroke:h,"stroke-width":r,"stroke-linejoin":"round"});let e=i.querySelector("textPath")||i;[].forEach.call(e.childNodes,(i=>{let e=i.cloneNode(!0);e.removeAttribute&&["fill","stroke","stroke-width","stroke"].forEach((t=>e.removeAttribute(t))),t.appendChild(e)}));let s=0;[].forEach.call(e.querySelectorAll("text tspan"),(t=>{s+=Number(t.getAttribute("dy"))}));let n=a.createElementNS(c,"tspan");n.textContent="​",f(n,{x:Number(i.getAttribute("x")),dy:-s}),t.appendChild(n),e.insertBefore(t,e.firstChild)}}attr(t,i,e,s){let h,r,o,{element:a}=this,l=z.symbolCustomAttribs,c=this;return"string"==typeof t&&void 0!==i&&(h=t,(t={})[h]=i),"string"==typeof t?c=(this[t+"Getter"]||this._defaultGetter).call(this,t,a):(A(t,(function(i,e){o=!1,s||n(this,e),this.symbolName&&-1!==l.indexOf(e)&&(r||(this.symbolAttr(t),r=!0),o=!0),this.rotation&&("x"===e||"y"===e)&&(this.doTransform=!0),o||(this[e+"Setter"]||this._defaultSetter).call(this,i,e,a)}),this),this.afterSetters()),e&&e.call(this),c}clip(t){if(t&&!t.clipPath){let i=E()+"-",e=this.renderer.createElement("clipPath").attr({id:i}).add(this.renderer.defs);v(t,{clipPath:e,id:i,count:0}),t.add(e)}return this.attr("clip-path",t?`url(${this.renderer.url}#${t.id})`:"none")}crisp(t,i){i=Math.round(i||t.strokeWidth||0);let e=t.x||this.x||0,s=t.y||this.y||0,h=(t.width||this.width||0)+e,r=(t.height||this.height||0)+s,n=g(e,i),o=g(s,i);return v(t,{x:n,y:o,width:g(h,i)-n,height:g(r,i)-o}),b(t.strokeWidth)&&(t.strokeWidth=i),t}complexColor(t,e,s){let h,r,n,o,a,l,c,d,u,f,p,g=this.renderer,m=[];y(this.renderer,"complexColor",{args:arguments},(function(){if(t.radialGradient?r="radialGradient":t.linearGradient&&(r="linearGradient"),r){if(n=t[r],a=g.gradients,l=t.stops,u=s.radialReference,M(n)&&(t[r]=n={x1:n[0],y1:n[1],x2:n[2],y2:n[3],gradientUnits:"userSpaceOnUse"}),"radialGradient"===r&&u&&!b(n.gradientUnits)&&(o=n,n=O(n,g.getRadialAttr(u,o),{gradientUnits:"userSpaceOnUse"})),A(n,(function(t,i){"id"!==i&&m.push(i,t)})),A(l,(function(t){m.push(t)})),a[m=m.join(",")])f=a[m].attr("id");else{n.id=f=E();let t=a[m]=g.createElement(r).attr(n).add(g.defs);t.radAttr=o,t.stops=[],l.forEach((function(e){0===e[1].indexOf("rgba")?(c=(h=i.parse(e[1])).get("rgb"),d=h.get("a")):(c=e[1],d=1);let s=g.createElement("stop").attr({offset:e[0],"stop-color":c,"stop-opacity":d}).add(t);t.stops.push(s)}))}p="url("+g.url+"#"+f+")",s.setAttribute(e,p),s.gradient=m,t.toString=function(){return p}}}))}css(t){let i,e=this.styles,s={},h=this.element,r=!e;if(e&&A(t,(function(t,i){e&&e[i]!==t&&(s[i]=t,r=!0)})),r){e&&(t=v(e,s)),null===t.width||"auto"===t.width?delete this.textWidth:"text"===h.nodeName.toLowerCase()&&t.width&&(i=this.textWidth=C(t.width)),v(this.styles,t),i&&!l&&this.renderer.forExport&&delete t.width;let r=O(t);h.namespaceURI===this.SVG_NS&&(["textOutline","textOverflow","width"].forEach((t=>r&&delete r[t])),r.color&&(r.fill=r.color)),m(h,r)}return this.added&&("text"===this.element.nodeName&&this.renderer.buildText(this),t.textOutline&&this.applyTextOutline(t.textOutline)),this}dashstyleSetter(t){let i,e=this["stroke-width"];if("inherit"===e&&(e=1),t=t&&t.toLowerCase()){let s=t.replace("shortdashdotdot","3,1,1,1,1,1,").replace("shortdashdot","3,1,1,1").replace("shortdot","1,1,").replace("shortdash","3,1,").replace("longdash","8,3,").replace(/dot/g,"1,3,").replace("dash","4,3,").replace(/,$/,"").split(",");for(i=s.length;i--;)s[i]=""+C(s[i])*L(e,NaN);t=s.join(",").replace(/NaN/g,"none"),this.element.setAttribute("stroke-dasharray",t)}}destroy(){let t,i,e=this,s=e.element||{},h=e.renderer,r=s.ownerSVGElement,o="SPAN"===s.nodeName&&e.parentGroup||void 0;if(s.onclick=s.onmouseout=s.onmouseover=s.onmousemove=s.point=null,n(e),e.clipPath&&r){let t=e.clipPath;[].forEach.call(r.querySelectorAll("[clip-path],[CLIP-PATH]"),(function(i){i.getAttribute("clip-path").indexOf(t.element.id)>-1&&i.removeAttribute("clip-path")})),e.clipPath=t.destroy()}if(e.connector=e.connector?.destroy(),e.stops){for(i=0;i<e.stops.length;i++)e.stops[i].destroy();e.stops.length=0,e.stops=void 0}for(e.safeRemoveChild(s);o&&o.div&&0===o.div.childNodes.length;)t=o.parentGroup,e.safeRemoveChild(o.div),delete o.div,o=t;e.alignOptions&&x(h.alignedObjects,e),A(e,(function(t,i){e[i]&&e[i].parentGroup===e&&e[i].destroy&&e[i].destroy(),delete e[i]}))}dSetter(t,i,e){M(t)&&("string"==typeof t[0]&&(t=this.renderer.pathToSegments(t)),this.pathArray=t,t=t.reduce(((t,i,e)=>i&&i.join?(e?t+" ":"")+i.join(" "):(i||"").toString()),"")),/(NaN| {2}|^$)/.test(t)&&(t="M 0 0"),this[i]!==t&&(e.setAttribute(i,t),this[i]=t)}fillSetter(t,i,e){"string"==typeof t?e.setAttribute(i,t):t&&this.complexColor(t,i,e)}hrefSetter(t,i,e){e.setAttributeNS("http://www.w3.org/1999/xlink",i,t)}getBBox(t,i){let e,s,h,r,{alignValue:n,element:o,renderer:a,styles:l,textStr:c}=this,{cache:d,cacheKeys:u}=a,f=o.namespaceURI===this.SVG_NS,p=L(i,this.rotation,0),g=a.styledMode?o&&z.prototype.getStyle.call(o,"font-size"):l.fontSize;if(b(c)&&(-1===(r=c.toString()).indexOf("<")&&(r=r.replace(/\d/g,"0")),r+=["",a.rootFontSize,g,p,this.textWidth,n,l.textOverflow,l.fontWeight].join(",")),r&&!t&&(e=d[r]),!e||e.polygon){if(f||a.forExport){try{h=this.fakeTS&&function(t){let i=o.querySelector(".highcharts-text-outline");i&&m(i,{display:t})},w(h)&&h("none"),e=o.getBBox?v({},o.getBBox()):{width:o.offsetWidth,height:o.offsetHeight,x:0,y:0},w(h)&&h("")}catch(t){}(!e||e.width<0)&&(e={x:0,y:0,width:0,height:0})}else e=this.htmlGetBBox();s=e.height,f&&(e.height=s={"11px,17":14,"13px,20":16}[`${g||""},${Math.round(s)}`]||s),p&&(e=this.getRotatedBox(e,p));let i={bBox:e};y(this,"afterGetBBox",i),e=i.bBox}if(r&&(""===c||e.height>0)){for(;u.length>250;)delete d[u.shift()];d[r]||u.push(r),d[r]=e}return e}getRotatedBox(t,i){let{x:e,y:s,width:h,height:r}=t,{alignValue:n,translateY:a,rotationOriginX:l=0,rotationOriginY:c=0}=this,d={right:1,center:.5}[n||0]||0,u=Number(this.element.getAttribute("y")||0)-(a?0:s),f=i*o,p=(i-90)*o,g=Math.cos(f),m=Math.sin(f),b=h*g,x=h*m,v=Math.cos(p),y=Math.sin(p),[[M,w],[k,S]]=[l,c].map((t=>[t-t*g,t*m])),O=e+d*(h-b)+M+S+u*v,A=O+b,L=A-r*v,C=L-b,j=s+u-d*x-w+k+u*y,T=j+x,P=T-r*y,E=P-x,z=Math.min(O,A,L,C),D=Math.min(j,T,P,E);return{x:z,y:D,width:Math.max(O,A,L,C)-z,height:Math.max(j,T,P,E)-D,polygon:[[O,j],[A,T],[L,P],[C,E]]}}getStyle(t){return d.getComputedStyle(this.element||this,"").getPropertyValue(t)}hasClass(t){return-1!==(""+this.attr("class")).split(" ").indexOf(t)}hide(){return this.attr({visibility:"hidden"})}htmlGetBBox(){return{height:0,width:0,x:0,y:0}}constructor(t,i){this.onEvents={},this.opacity=1,this.SVG_NS=c,this.element="span"===i||"body"===i?p(i):a.createElementNS(this.SVG_NS,i),this.renderer=t,this.styles={},y(this,"afterInit")}on(t,i){let{onEvents:e}=this;return e[t]&&e[t](),e[t]=u(this.element,t,i),this}opacitySetter(t,i,e){let s=Number(Number(t).toFixed(3));this.opacity=s,e.setAttribute(i,s)}reAlign(){this.alignOptions?.width&&"left"!==this.alignOptions.align&&(this.alignOptions.width=this.getBBox().width,this.placed=!1,this.align())}removeClass(t){return this.attr("class",(""+this.attr("class")).replace(S(t)?RegExp(`(^| )${t}( |$)`):t," ").replace(/ +/g," ").trim())}removeTextOutline(){let t=this.element.querySelector("tspan.highcharts-text-outline");t&&this.safeRemoveChild(t)}safeRemoveChild(t){let i=t.parentNode;i&&i.removeChild(t)}setRadialReference(t){let i=this.element.gradient&&this.renderer.gradients[this.element.gradient];return this.element.radialReference=t,i&&i.radAttr&&i.animate(this.renderer.getRadialAttr(t,i.radAttr)),this}shadow(t){let{renderer:i}=this,e=O(90===this.parentGroup?.rotation?{offsetX:-1,offsetY:-1}:{},k(t)?t:{}),s=i.shadowDefinition(e);return this.attr({filter:t?`url(${i.url}#${s})`:"none"})}show(t=!0){return this.attr({visibility:t?"inherit":"visible"})}"stroke-widthSetter"(t,i,e){this[i]=t,e.setAttribute(i,t)}strokeWidth(){if(!this.renderer.styledMode)return this["stroke-width"]||0;let t,i=this.getStyle("stroke-width"),e=0;return/px$/.test(i)?e=C(i):""!==i&&(f(t=a.createElementNS(c,"rect"),{width:i,"stroke-width":0}),this.element.parentNode.appendChild(t),e=t.getBBox().width,t.parentNode.removeChild(t)),e}symbolAttr(t){let i=this;z.symbolCustomAttribs.forEach((function(e){i[e]=L(t[e],i[e])})),i.attr({d:i.renderer.symbols[i.symbolName](i.x,i.y,i.width,i.height,i)})}textSetter(t){t!==this.textStr&&(delete this.textPxLength,this.textStr=t,this.added&&this.renderer.buildText(this),this.reAlign())}titleSetter(t){let i=this.element,e=i.getElementsByTagName("title")[0]||a.createElementNS(this.SVG_NS,"title");i.insertBefore?i.insertBefore(e,i.firstChild):i.appendChild(e),e.textContent=T(L(t,""),[/<[^>]*>/g,""]).replace(/&lt;/g,"<").replace(/&gt;/g,">")}toFront(){let t=this.element;return t.parentNode.appendChild(t),this}translate(t,i){return this.attr({translateX:t,translateY:i})}updateTransform(t="transform"){let{element:i,matrix:e,rotation:s=0,rotationOriginX:h,rotationOriginY:r,scaleX:n,scaleY:o,translateX:a=0,translateY:l=0}=this,c=["translate("+a+","+l+")"];b(e)&&c.push("matrix("+e.join(",")+")"),s&&(c.push("rotate("+s+" "+L(h,i.getAttribute("x"),0)+" "+L(r,i.getAttribute("y")||0)+")"),"SPAN"===this.text?.element.tagName&&this.text.attr({rotation:s,rotationOriginX:(h||0)-this.padding,rotationOriginY:(r||0)-this.padding})),(b(n)||b(o))&&c.push("scale("+L(n,1)+" "+L(o,1)+")"),c.length&&!(this.text||this).textPath&&i.setAttribute(t,c.join(" "))}visibilitySetter(t,i,e){"inherit"===t?e.removeAttribute(i):this[i]!==t&&e.setAttribute(i,t),this[i]=t}xGetter(t){return"circle"===this.element.nodeName&&("x"===t?t="cx":"y"===t&&(t="cy")),this._defaultGetter(t)}zIndexSetter(t,i){let e,s,h,r,n,o=this.renderer,a=this.parentGroup,l=(a||o).element||o.box,c=this.element,d=l===o.box,u=!1,f=this.added;if(b(t)?(c.setAttribute("data-z-index",t),this[i]===(t=+t)&&(f=!1)):b(this[i])&&c.removeAttribute("data-z-index"),this[i]=t,f){for((t=this.zIndex)&&a&&(a.handleZ=!0),n=(e=l.childNodes).length-1;n>=0&&!u;n--)r=!b(h=(s=e[n]).getAttribute("data-z-index")),s!==c&&(t<0&&r&&!d&&!n?(l.insertBefore(c,e[n]),u=!0):(C(h)<=t||r&&(!b(t)||t>=0))&&(l.insertBefore(c,e[n+1]),u=!0));u||(l.insertBefore(c,e[d?3:0]),u=!0)}return u}}return z.symbolCustomAttribs=["anchorX","anchorY","clockwise","end","height","innerR","r","start","width","x","y"],z.prototype.strokeSetter=z.prototype.fillSetter,z.prototype.yGetter=z.prototype.xGetter,z.prototype.matrixSetter=z.prototype.rotationOriginXSetter=z.prototype.rotationOriginYSetter=z.prototype.rotationSetter=z.prototype.scaleXSetter=z.prototype.scaleYSetter=z.prototype.translateXSetter=z.prototype.translateYSetter=z.prototype.verticalAlignSetter=function(t,i){this[i]=t,this.doTransform=!0},z})),e(i,"Core/Renderer/SVG/SVGLabel.js",[i["Core/Renderer/SVG/SVGElement.js"],i["Core/Utilities.js"]],(function(t,i){let{defined:e,extend:s,isNumber:h,merge:r,pick:n,removeEvent:o}=i;class a extends t{constructor(t,i,e,s,h,r,n,o,l,c){let d;super(t,"g"),this.paddingLeftSetter=this.paddingSetter,this.paddingRightSetter=this.paddingSetter,this.doUpdate=!1,this.textStr=i,this.x=e,this.y=s,this.anchorX=r,this.anchorY=n,this.baseline=l,this.className=c,this.addClass("button"===c?"highcharts-no-tooltip":"highcharts-label"),c&&this.addClass("highcharts-"+c),this.text=t.text(void 0,0,0,o).attr({zIndex:1}),"string"==typeof h&&((d=/^url\((.*?)\)$/.test(h))||this.renderer.symbols[h])&&(this.symbolKey=h),this.bBox=a.emptyBBox,this.padding=3,this.baselineOffset=0,this.needsBox=t.styledMode||d,this.deferredAttr={},this.alignFactor=0}alignSetter(t){let i={left:0,center:.5,right:1}[t];i!==this.alignFactor&&(this.alignFactor=i,this.bBox&&h(this.xSetting)&&this.attr({x:this.xSetting}))}anchorXSetter(t,i){this.anchorX=t,this.boxAttr(i,Math.round(t)-this.getCrispAdjust()-this.xSetting)}anchorYSetter(t,i){this.anchorY=t,this.boxAttr(i,t-this.ySetting)}boxAttr(t,i){this.box?this.box.attr(t,i):this.deferredAttr[t]=i}css(i){if(i){let t={};i=r(i),a.textProps.forEach((e=>{void 0!==i[e]&&(t[e]=i[e],delete i[e])})),this.text.css(t),"fontSize"in t||"fontWeight"in t?this.updateTextPadding():("width"in t||"textOverflow"in t)&&this.updateBoxSize()}return t.prototype.css.call(this,i)}destroy(){o(this.element,"mouseenter"),o(this.element,"mouseleave"),this.text&&this.text.destroy(),this.box&&(this.box=this.box.destroy()),t.prototype.destroy.call(this)}fillSetter(t,i){t&&(this.needsBox=!0),this.fill=t,this.boxAttr(i,t)}getBBox(t,i){this.textStr&&0===this.bBox.width&&0===this.bBox.height&&this.updateBoxSize();let{padding:e,height:s=0,translateX:h=0,translateY:r=0,width:o=0}=this,a=n(this.paddingLeft,e),l=i??(this.rotation||0),c={width:o,height:s,x:h+this.bBox.x-a,y:r+this.bBox.y-e+this.baselineOffset};return l&&(c=this.getRotatedBox(c,l)),c}getCrispAdjust(){return(this.renderer.styledMode&&this.box?this.box.strokeWidth():this["stroke-width"]?parseInt(this["stroke-width"],10):0)%2/2}heightSetter(t){this.heightSetting=t,this.doUpdate=!0}afterSetters(){super.afterSetters(),this.doUpdate&&(this.updateBoxSize(),this.doUpdate=!1)}onAdd(){this.text.add(this),this.attr({text:n(this.textStr,""),x:this.x||0,y:this.y||0}),this.box&&e(this.anchorX)&&this.attr({anchorX:this.anchorX,anchorY:this.anchorY})}paddingSetter(t,i){h(t)?t!==this[i]&&(this[i]=t,this.updateTextPadding()):this[i]=void 0}rSetter(t,i){this.boxAttr(i,t)}strokeSetter(t,i){this.stroke=t,this.boxAttr(i,t)}"stroke-widthSetter"(t,i){t&&(this.needsBox=!0),this["stroke-width"]=t,this.boxAttr(i,t)}"text-alignSetter"(t){this.textAlign=t}textSetter(t){void 0!==t&&this.text.attr({text:t}),this.updateTextPadding(),this.reAlign()}updateBoxSize(){let t,i=this.text,r={},n=this.padding,o=this.bBox=h(this.widthSetting)&&h(this.heightSetting)&&!this.textAlign||!e(i.textStr)?a.emptyBBox:i.getBBox(void 0,0);this.width=this.getPaddedWidth(),this.height=(this.heightSetting||o.height||0)+2*n;let l=this.renderer.fontMetrics(i);if(this.baselineOffset=n+Math.min((this.text.firstLineMetrics||l).b,o.height||1/0),this.heightSetting&&(this.baselineOffset+=(this.heightSetting-l.h)/2),this.needsBox&&!i.textPath){if(!this.box){let t=this.box=this.symbolKey?this.renderer.symbol(this.symbolKey):this.renderer.rect();t.addClass(("button"===this.className?"":"highcharts-label-box")+(this.className?" highcharts-"+this.className+"-box":"")),t.add(this)}t=this.getCrispAdjust(),r.x=t,r.y=(this.baseline?-this.baselineOffset:0)+t,r.width=Math.round(this.width),r.height=Math.round(this.height),this.box.attr(s(r,this.deferredAttr)),this.deferredAttr={}}}updateTextPadding(){let t=this.text;if(!t.textPath){this.updateBoxSize();let i=this.baseline?0:this.baselineOffset,s=n(this.paddingLeft,this.padding);e(this.widthSetting)&&this.bBox&&("center"===this.textAlign||"right"===this.textAlign)&&(s+={center:.5,right:1}[this.textAlign]*(this.widthSetting-this.bBox.width)),(s!==t.x||i!==t.y)&&(t.attr("x",s),t.hasBoxWidthChanged&&(this.bBox=t.getBBox(!0)),void 0!==i&&t.attr("y",i)),t.x=s,t.y=i}}widthSetter(t){this.widthSetting=h(t)?t:void 0,this.doUpdate=!0}getPaddedWidth(){let t=this.padding,i=n(this.paddingLeft,t),e=n(this.paddingRight,t);return(this.widthSetting||this.bBox.width||0)+i+e}xSetter(t){this.x=t,this.alignFactor&&(t-=this.alignFactor*this.getPaddedWidth(),this["forceAnimate:x"]=!0),this.xSetting=Math.round(t),this.attr("translateX",this.xSetting)}ySetter(t){this.ySetting=this.y=Math.round(t),this.attr("translateY",this.ySetting)}}return a.emptyBBox={width:0,height:0,x:0,y:0},a.textProps=["color","direction","fontFamily","fontSize","fontStyle","fontWeight","lineHeight","textAlign","textDecoration","textOutline","textOverflow","whiteSpace","width"],a})),e(i,"Core/Renderer/SVG/Symbols.js",[i["Core/Utilities.js"]],(function(t){let{defined:i,isNumber:e,pick:s}=t;function h(t,e,h,r,n){let o=[];if(n){let a=n.start||0,l=s(n.r,h),c=s(n.r,r||h),d=2e-4/(n.borderRadius?1:Math.max(l,1)),u=Math.abs((n.end||0)-a-2*Math.PI)<d,f=(n.end||0)-(u?d:0),p=n.innerR,g=s(n.open,u),m=Math.cos(a),b=Math.sin(a),x=Math.cos(f),v=Math.sin(f),y=s(n.longArc,f-a-Math.PI<d?0:1),M=["A",l,c,0,y,s(n.clockwise,1),t+l*x,e+c*v];M.params={start:a,end:f,cx:t,cy:e},o.push(["M",t+l*m,e+c*b],M),i(p)&&((M=["A",p,p,0,y,i(n.clockwise)?1-n.clockwise:0,t+p*m,e+p*b]).params={start:f,end:a,cx:t,cy:e},o.push(g?["M",t+p*x,e+p*v]:["L",t+p*x,e+p*v],M)),g||o.push(["Z"])}return o}function r(t,i,e,s,h){return h&&h.r?n(t,i,e,s,h):[["M",t,i],["L",t+e,i],["L",t+e,i+s],["L",t,i+s],["Z"]]}function n(t,i,e,s,h){let r=h?.r||0;return[["M",t+r,i],["L",t+e-r,i],["A",r,r,0,0,1,t+e,i+r],["L",t+e,i+s-r],["A",r,r,0,0,1,t+e-r,i+s],["L",t+r,i+s],["A",r,r,0,0,1,t,i+s-r],["L",t,i+r],["A",r,r,0,0,1,t+r,i],["Z"]]}return{arc:h,callout:function(t,i,s,h,r){let o=Math.min(r&&r.r||0,s,h),a=o+6,l=r&&r.anchorX,c=r&&r.anchorY||0,d=n(t,i,s,h,{r:o});if(!e(l)||l<s&&l>0&&c<h&&c>0)return d;if(t+l>s-a)if(c>i+a&&c<i+h-a)d.splice(3,1,["L",t+s,c-6],["L",t+s+6,c],["L",t+s,c+6],["L",t+s,i+h-o]);else if(l<s){let e=c<i+a;d.splice(e?2:5,0,["L",l,c],["L",t+s-o,e?i:i+h])}else d.splice(3,1,["L",t+s,h/2],["L",l,c],["L",t+s,h/2],["L",t+s,i+h-o]);else if(t+l<a)if(c>i+a&&c<i+h-a)d.splice(7,1,["L",t,c+6],["L",t-6,c],["L",t,c-6],["L",t,i+o]);else if(l>0){let e=c<i+a;d.splice(e?1:6,0,["L",l,c],["L",t+o,e?i:i+h])}else d.splice(7,1,["L",t,h/2],["L",l,c],["L",t,h/2],["L",t,i+o]);else c>h&&l<s-a?d.splice(5,1,["L",l+6,i+h],["L",l,i+h+6],["L",l-6,i+h],["L",t+o,i+h]):c<0&&l>a&&d.splice(1,1,["L",l-6,i],["L",l,i-6],["L",l+6,i],["L",s-o,i]);return d},circle:function(t,i,e,s){return h(t+e/2,i+s/2,e/2,s/2,{start:.5*Math.PI,end:2.5*Math.PI,open:!1})},diamond:function(t,i,e,s){return[["M",t+e/2,i],["L",t+e,i+s/2],["L",t+e/2,i+s],["L",t,i+s/2],["Z"]]},rect:r,roundedRect:n,square:r,triangle:function(t,i,e,s){return[["M",t+e/2,i],["L",t+e,i+s],["L",t,i+s],["Z"]]},"triangle-down":function(t,i,e,s){return[["M",t,i],["L",t+e,i],["L",t+e/2,i+s],["Z"]]}}})),e(i,"Core/Renderer/SVG/TextBuilder.js",[i["Core/Renderer/HTML/AST.js"],i["Core/Globals.js"],i["Core/Utilities.js"]],(function(t,i,e){let{doc:s,SVG_NS:h,win:r}=i,{attr:n,extend:o,fireEvent:a,isString:l,objectEach:c,pick:d}=e;return class{constructor(t){let i=t.styles;this.renderer=t.renderer,this.svgElement=t,this.width=t.textWidth,this.textLineHeight=i&&i.lineHeight,this.textOutline=i&&i.textOutline,this.ellipsis=!(!i||"ellipsis"!==i.textOverflow),this.noWrap=!(!i||"nowrap"!==i.whiteSpace)}buildSVG(){let i=this.svgElement,e=i.element,h=i.renderer,r=d(i.textStr,"").toString(),n=-1!==r.indexOf("<"),o=e.childNodes,a=!i.added&&h.box,c=[r,this.ellipsis,this.noWrap,this.textLineHeight,this.textOutline,i.getStyle("font-size"),this.width].join(",");if(c!==i.textCache){i.textCache=c,delete i.actualWidth;for(let t=o.length;t--;)e.removeChild(o[t]);if(n||this.ellipsis||this.width||i.textPath||-1!==r.indexOf(" ")&&(!this.noWrap||/<br.*?>/g.test(r))){if(""!==r){a&&a.appendChild(e);let s=new t(r);this.modifyTree(s.nodes),s.addToDOM(e),this.modifyDOM(),this.ellipsis&&-1!==(e.textContent||"").indexOf("…")&&i.attr("title",this.unescapeEntities(i.textStr||"",["&lt;","&gt;"])),a&&a.removeChild(e)}}else e.appendChild(s.createTextNode(this.unescapeEntities(r)));l(this.textOutline)&&i.applyTextOutline&&i.applyTextOutline(this.textOutline)}}modifyDOM(){let t,i=this.svgElement,e=n(i.element,"x");for(i.firstLineMetrics=void 0;(t=i.element.firstChild)&&/^[\s\u200B]*$/.test(t.textContent||" ");)i.element.removeChild(t);[].forEach.call(i.element.querySelectorAll("tspan.highcharts-br"),((t,s)=>{t.nextSibling&&t.previousSibling&&(0===s&&1===t.previousSibling.nodeType&&(i.firstLineMetrics=i.renderer.fontMetrics(t.previousSibling)),n(t,{dy:this.getLineHeight(t.nextSibling),x:e}))}));let o=this.width||0;if(!o)return;let a=(t,r)=>{let a=t.textContent||"",l=a.replace(/([^\^])-/g,"$1- ").split(" "),c=!this.noWrap&&(l.length>1||i.element.childNodes.length>1),d=this.getLineHeight(r),u=0,f=i.actualWidth;if(this.ellipsis)a&&this.truncate(t,a,void 0,0,Math.max(0,o-.8*d),((t,i)=>t.substring(0,i)+"…"));else if(c){let a=[],c=[];for(;r.firstChild&&r.firstChild!==t;)c.push(r.firstChild),r.removeChild(r.firstChild);for(;l.length;)l.length&&!this.noWrap&&u>0&&(a.push(t.textContent||""),t.textContent=l.join(" ").replace(/- /g,"-")),this.truncate(t,void 0,l,0===u&&f||0,o,((t,i)=>l.slice(0,i).join(" ").replace(/- /g,"-"))),f=i.actualWidth,u++;c.forEach((i=>{r.insertBefore(i,t)})),a.forEach((i=>{r.insertBefore(s.createTextNode(i),t);let o=s.createElementNS(h,"tspan");o.textContent="​",n(o,{dy:d,x:e}),r.insertBefore(o,t)}))}},l=t=>{[].slice.call(t.childNodes).forEach((e=>{e.nodeType===r.Node.TEXT_NODE?a(e,t):(-1!==e.className.baseVal.indexOf("highcharts-br")&&(i.actualWidth=0),l(e))}))};l(i.element)}getLineHeight(t){let i=t.nodeType===r.Node.TEXT_NODE?t.parentElement:t;return this.textLineHeight?parseInt(this.textLineHeight.toString(),10):this.renderer.fontMetrics(i||this.svgElement.element).h}modifyTree(t){let i=(e,s)=>{let{attributes:h={},children:r,style:n={},tagName:a}=e,l=this.renderer.styledMode;if("b"===a||"strong"===a?l?h.class="highcharts-strong":n.fontWeight="bold":("i"===a||"em"===a)&&(l?h.class="highcharts-emphasized":n.fontStyle="italic"),n&&n.color&&(n.fill=n.color),"br"===a){h.class="highcharts-br",e.textContent="​";let i=t[s+1];i&&i.textContent&&(i.textContent=i.textContent.replace(/^ +/gm,""))}else"a"===a&&r&&r.some((t=>"#text"===t.tagName))&&(e.children=[{children:r,tagName:"tspan"}]);"#text"!==a&&"a"!==a&&(e.tagName="tspan"),o(e,{attributes:h,style:n}),r&&r.filter((t=>"#text"!==t.tagName)).forEach(i)};t.forEach(i),a(this.svgElement,"afterModifyTree",{nodes:t})}truncate(t,i,e,s,h,r){let n,o,a=this.svgElement,{rotation:l}=a,c=[],d=e?1:0,u=(i||e||"").length,f=u,p=function(i,h){let r=h||i,n=t.parentNode;if(n&&void 0===c[r]&&n.getSubStringLength)try{c[r]=s+n.getSubStringLength(0,e?r+1:r)}catch(t){}return c[r]};if(a.rotation=0,s+(o=p(t.textContent.length))>h){for(;d<=u;)f=Math.ceil((d+u)/2),e&&(n=r(e,f)),o=p(f,n&&n.length-1),d===u?d=u+1:o>h?u=f-1:d=f;0===u?t.textContent="":i&&u===i.length-1||(t.textContent=n||r(i||e,f))}e&&e.splice(0,f),a.actualWidth=o,a.rotation=l}unescapeEntities(t,i){return c(this.renderer.escapes,(function(e,s){i&&-1!==i.indexOf(e)||(t=t.toString().replace(RegExp(e,"g"),s))})),t}}})),e(i,"Core/Renderer/SVG/SVGRenderer.js",[i["Core/Renderer/HTML/AST.js"],i["Core/Defaults.js"],i["Core/Color/Color.js"],i["Core/Globals.js"],i["Core/Renderer/RendererRegistry.js"],i["Core/Renderer/SVG/SVGElement.js"],i["Core/Renderer/SVG/SVGLabel.js"],i["Core/Renderer/SVG/Symbols.js"],i["Core/Renderer/SVG/TextBuilder.js"],i["Core/Utilities.js"]],(function(t,i,e,s,h,r,n,o,a,l){let c,{defaultOptions:d}=i,{charts:u,deg2rad:f,doc:p,isFirefox:g,isMS:m,isWebKit:b,noop:x,SVG_NS:v,symbolSizes:y,win:M}=s,{addEvent:w,attr:k,createElement:S,crisp:O,css:A,defined:L,destroyObjectProperties:C,extend:j,isArray:T,isNumber:P,isObject:E,isString:z,merge:D,pick:N,pInt:I,replaceNested:F,uniqueKey:R}=l;class B{constructor(t,i,e,s,h,r,n){let o,a,l=this.createElement("svg").attr({version:"1.1",class:"highcharts-root"}),c=l.element;n||l.css(this.getStyle(s||{})),t.appendChild(c),k(t,"dir","ltr"),-1===t.innerHTML.indexOf("xmlns")&&k(c,"xmlns",this.SVG_NS),this.box=c,this.boxWrapper=l,this.alignedObjects=[],this.url=this.getReferenceURL(),this.createElement("desc").add().element.appendChild(p.createTextNode("Created with Highcharts 11.4.8")),this.defs=this.createElement("defs").add(),this.allowHTML=r,this.forExport=h,this.styledMode=n,this.gradients={},this.cache={},this.cacheKeys=[],this.imgCount=0,this.rootFontSize=l.getStyle("font-size"),this.setSize(i,e,!1),g&&t.getBoundingClientRect&&((o=function(){A(t,{left:0,top:0}),a=t.getBoundingClientRect(),A(t,{left:Math.ceil(a.left)-a.left+"px",top:Math.ceil(a.top)-a.top+"px"})})(),this.unSubPixelFix=w(M,"resize",o))}definition(i){return new t([i]).addToDOM(this.defs.element)}getReferenceURL(){if((g||b)&&p.getElementsByTagName("base").length){if(!L(c)){let i=R(),e=new t([{tagName:"svg",attributes:{width:8,height:8},children:[{tagName:"defs",children:[{tagName:"clipPath",attributes:{id:i},children:[{tagName:"rect",attributes:{width:4,height:4}}]}]},{tagName:"rect",attributes:{id:"hitme",width:8,height:8,"clip-path":`url(#${i})`,fill:"rgba(0,0,0,0.001)"}}]}]).addToDOM(p.body);A(e,{position:"fixed",top:0,left:0,zIndex:9e5});let s=p.elementFromPoint(6,6);c="hitme"===(s&&s.id),p.body.removeChild(e)}if(c)return F(M.location.href.split("#")[0],[/<[^>]*>/g,""],[/([\('\)])/g,"\\$1"],[/ /g,"%20"])}return""}getStyle(t){return this.style=j({fontFamily:"Helvetica, Arial, sans-serif",fontSize:"1rem"},t),this.style}setStyle(t){this.boxWrapper.css(this.getStyle(t))}isHidden(){return!this.boxWrapper.getBBox().width}destroy(){let t=this.defs;return this.box=null,this.boxWrapper=this.boxWrapper.destroy(),C(this.gradients||{}),this.gradients=null,this.defs=t.destroy(),this.unSubPixelFix&&this.unSubPixelFix(),this.alignedObjects=null,null}createElement(t){return new this.Element(this,t)}getRadialAttr(t,i){return{cx:t[0]-t[2]/2+(i.cx||0)*t[2],cy:t[1]-t[2]/2+(i.cy||0)*t[2],r:(i.r||0)*t[2]}}shadowDefinition(t){let i=[`highcharts-drop-shadow-${this.chartIndex}`,...Object.keys(t).map((i=>`${i}-${t[i]}`))].join("-").toLowerCase().replace(/[^a-z\d\-]/g,""),e=D({color:"#000000",offsetX:1,offsetY:1,opacity:.15,width:5},t);return this.defs.element.querySelector(`#${i}`)||this.definition({tagName:"filter",attributes:{id:i,filterUnits:e.filterUnits},children:this.getShadowFilterContent(e)}),i}getShadowFilterContent(t){return[{tagName:"feDropShadow",attributes:{dx:t.offsetX,dy:t.offsetY,"flood-color":t.color,"flood-opacity":Math.min(5*t.opacity,1),stdDeviation:t.width/2}}]}buildText(t){new a(t).buildSVG()}getContrast(t){let i=e.parse(t).rgba.map((t=>{let i=t/255;return i<=.03928?i/12.92:Math.pow((i+.055)/1.055,2.4)})),s=.2126*i[0]+.7152*i[1]+.0722*i[2];return 1.05/(s+.05)>(s+.05)/.05?"#FFFFFF":"#000000"}button(i,e,s,h,r={},n,o,a,l,c){let u=this.label(i,e,s,l,void 0,void 0,c,void 0,"button"),f=this.styledMode,p=arguments,g=0;r=D(d.global.buttonTheme,r),f&&(delete r.fill,delete r.stroke,delete r["stroke-width"]);let b=r.states||{},x=r.style||{};delete r.states,delete r.style;let v=[t.filterUserAttributes(r)],y=[x];return f||["hover","select","disabled"].forEach(((i,e)=>{v.push(D(v[0],t.filterUserAttributes(p[e+5]||b[i]||{}))),y.push(v[e+1].style),delete v[e+1].style})),w(u.element,m?"mouseover":"mouseenter",(function(){3!==g&&u.setState(1)})),w(u.element,m?"mouseout":"mouseleave",(function(){3!==g&&u.setState(g)})),u.setState=(t=0)=>{if(1!==t&&(u.state=g=t),u.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][t]),!f){u.attr(v[t]);let i=y[t];E(i)&&u.css(i)}},u.attr(v[0]),!f&&(u.css(j({cursor:"default"},x)),c&&u.text.css({pointerEvents:"none"})),u.on("touchstart",(t=>t.stopPropagation())).on("click",(function(t){3!==g&&h.call(u,t)}))}crispLine(t,i){let[e,s]=t;return L(e[1])&&e[1]===s[1]&&(e[1]=s[1]=O(e[1],i)),L(e[2])&&e[2]===s[2]&&(e[2]=s[2]=O(e[2],i)),t}path(t){let i=this.styledMode?{}:{fill:"none"};return T(t)?i.d=t:E(t)&&j(i,t),this.createElement("path").attr(i)}circle(t,i,e){let s=E(t)?t:void 0===t?{}:{x:t,y:i,r:e},h=this.createElement("circle");return h.xSetter=h.ySetter=function(t,i,e){e.setAttribute("c"+i,t)},h.attr(s)}arc(t,i,e,s,h,r){let n;E(t)?(i=(n=t).y,e=n.r,s=n.innerR,h=n.start,r=n.end,t=n.x):n={innerR:s,start:h,end:r};let o=this.symbol("arc",t,i,e,e,n);return o.r=e,o}rect(t,i,e,s,h,r){let n=E(t)?t:void 0===t?{}:{x:t,y:i,r:h,width:Math.max(e||0,0),height:Math.max(s||0,0)},o=this.createElement("rect");return this.styledMode||(void 0!==r&&(n["stroke-width"]=r,j(n,o.crisp(n))),n.fill="none"),o.rSetter=function(t,i,e){o.r=t,k(e,{rx:t,ry:t})},o.rGetter=function(){return o.r||0},o.attr(n)}roundedRect(t){return this.symbol("roundedRect").attr(t)}setSize(t,i,e){this.width=t,this.height=i,this.boxWrapper.animate({width:t,height:i},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:N(e,!0)?void 0:0}),this.alignElements()}g(t){let i=this.createElement("g");return t?i.attr({class:"highcharts-"+t}):i}image(t,i,e,s,h,r){let n={preserveAspectRatio:"none"};P(i)&&(n.x=i),P(e)&&(n.y=e),P(s)&&(n.width=s),P(h)&&(n.height=h);let o=this.createElement("image").attr(n),a=function(i){o.attr({href:t}),r.call(o,i)};if(r){o.attr({href:"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="});let i=new M.Image;w(i,"load",a),i.src=t,i.complete&&a({})}else o.attr({href:t});return o}symbol(t,i,e,s,h,r){let n,o,a,l,c=this,d=/^url\((.*?)\)$/,f=d.test(t),g=!f&&(this.symbols[t]?t:"circle"),m=g&&this.symbols[g];if(m)"number"==typeof i&&(o=m.call(this.symbols,i||0,e||0,s||0,h||0,r)),n=this.path(o),c.styledMode||n.attr("fill","none"),j(n,{symbolName:g||void 0,x:i,y:e,width:s,height:h}),r&&j(n,r);else if(f){a=t.match(d)[1];let s=n=this.image(a);s.imgwidth=N(r&&r.width,y[a]&&y[a].width),s.imgheight=N(r&&r.height,y[a]&&y[a].height),l=t=>t.attr({width:t.width,height:t.height}),["width","height"].forEach((t=>{s[`${t}Setter`]=function(t,i){this[i]=t;let{alignByTranslate:e,element:s,width:h,height:n,imgwidth:o,imgheight:a}=this,l="width"===i?o:a,c=1;r&&"within"===r.backgroundSize&&h&&n&&o&&a?(c=Math.min(h/o,n/a),k(s,{width:Math.round(o*c),height:Math.round(a*c)})):s&&l&&s.setAttribute(i,l),!e&&o&&a&&this.translate(((h||0)-o*c)/2,((n||0)-a*c)/2)}})),L(i)&&s.attr({x:i,y:e}),s.isImg=!0,s.symbolUrl=t,L(s.imgwidth)&&L(s.imgheight)?l(s):(s.attr({width:0,height:0}),S("img",{onload:function(){let t=u[c.chartIndex];0===this.width&&(A(this,{position:"absolute",top:"-999em"}),p.body.appendChild(this)),y[a]={width:this.width,height:this.height},s.imgwidth=this.width,s.imgheight=this.height,s.element&&l(s),this.parentNode&&this.parentNode.removeChild(this),c.imgCount--,c.imgCount||!t||t.hasLoaded||t.onload()},src:a}),this.imgCount++)}return n}clipRect(t,i,e,s){return this.rect(t,i,e,s,0)}text(t,i,e,s){let h={};if(s&&(this.allowHTML||!this.forExport))return this.html(t,i,e);h.x=Math.round(i||0),e&&(h.y=Math.round(e)),L(t)&&(h.text=t);let r=this.createElement("text").attr(h);return s&&(!this.forExport||this.allowHTML)||(r.xSetter=function(t,i,e){let s=e.getElementsByTagName("tspan"),h=e.getAttribute(i);for(let e,r=0;r<s.length;r++)(e=s[r]).getAttribute(i)===h&&e.setAttribute(i,t);e.setAttribute(i,t)}),r}fontMetrics(t){let i=I(r.prototype.getStyle.call(t,"font-size")||0),e=i<24?i+3:Math.round(1.2*i);return{h:e,b:Math.round(.8*e),f:i}}rotCorr(t,i,e){let s=t;return i&&e&&(s=Math.max(s*Math.cos(i*f),4)),{x:-t/3*Math.sin(i*f),y:s}}pathToSegments(t){let i=[],e=[],s={A:8,C:7,H:2,L:3,M:3,Q:5,S:5,T:3,V:2};for(let h=0;h<t.length;h++)z(e[0])&&P(t[h])&&e.length===s[e[0].toUpperCase()]&&t.splice(h,0,e[0].replace("M","L").replace("m","l")),"string"==typeof t[h]&&(e.length&&i.push(e.slice(0)),e.length=0),e.push(t[h]);return i.push(e.slice(0)),i}label(t,i,e,s,h,r,o,a,l){return new n(this,t,i,e,s,h,r,o,a,l)}alignElements(){this.alignedObjects.forEach((t=>t.align()))}}return j(B.prototype,{Element:r,SVG_NS:v,escapes:{"&":"&amp;","<":"&lt;",">":"&gt;","'":"&#39;",'"':"&quot;"},symbols:o,draw:x}),h.registerRendererType("svg",B,!0),B})),e(i,"Core/Renderer/HTML/HTMLElement.js",[i["Core/Renderer/HTML/AST.js"],i["Core/Globals.js"],i["Core/Renderer/SVG/SVGElement.js"],i["Core/Utilities.js"]],(function(t,i,e,s){let{composed:h}=i,{attr:r,css:n,createElement:o,defined:a,extend:l,pInt:c,pushUnique:d}=s;function u(t,i,s){let h=this.div?.style||s.style;e.prototype[`${i}Setter`].call(this,t,i,s),h&&(h[i]=t)}let f=(t,i)=>{if(!t.div){let s=r(t.element,"class"),h=t.css,n=o("div",s?{className:s}:void 0,{position:"absolute",left:`${t.translateX||0}px`,top:`${t.translateY||0}px`,...t.styles,display:t.display,opacity:t.opacity,visibility:t.visibility},t.parentGroup?.div||i);t.classSetter=(t,i,e)=>{e.setAttribute("class",t),n.className=t},t.translateXSetter=t.translateYSetter=(i,e)=>{t[e]=i,n.style["translateX"===e?"left":"top"]=`${i}px`,t.doTransform=!0},t.opacitySetter=t.visibilitySetter=u,t.css=i=>(h.call(t,i),i.cursor&&(n.style.cursor=i.cursor),i.pointerEvents&&(n.style.pointerEvents=i.pointerEvents),t),t.on=function(){return e.prototype.on.apply({element:n,onEvents:t.onEvents},arguments),t},t.div=n}return t.div};class p extends e{static compose(t){d(h,this.compose)&&(t.prototype.html=function(t,i,e){return new p(this,"span").attr({text:t,x:Math.round(i),y:Math.round(e)})})}constructor(t,i){super(t,i),this.css({position:"absolute",...t.styledMode?{}:{fontFamily:t.style.fontFamily,fontSize:t.style.fontSize}}),this.element.style.whiteSpace="nowrap"}getSpanCorrection(t,i,e){this.xCorr=-t*e,this.yCorr=-i}css(t){let i,{element:e}=this,s="SPAN"===e.tagName&&t&&"width"in t,h=s&&t.width;return s&&(delete t.width,this.textWidth=c(h)||void 0,i=!0),"ellipsis"===t?.textOverflow&&(t.whiteSpace="nowrap",t.overflow="hidden"),l(this.styles,t),n(e,t),i&&this.updateTransform(),this}htmlGetBBox(){let{element:t}=this;return{x:t.offsetLeft,y:t.offsetTop,width:t.offsetWidth,height:t.offsetHeight}}updateTransform(){if(!this.added)return void(this.alignOnAdd=!0);let{element:t,renderer:i,rotation:e,rotationOriginX:s,rotationOriginY:h,styles:r,textAlign:o="left",textWidth:l,translateX:c=0,translateY:d=0,x:u=0,y:f=0}=this,p={left:0,center:.5,right:1}[o],g=r.whiteSpace;if(n(t,{marginLeft:`${c}px`,marginTop:`${d}px`}),"SPAN"===t.tagName){let r,c=[e,o,t.innerHTML,l,this.textAlign].join(","),d=-1*this.parentGroup?.padding||0,m=!1;if(l!==this.oldTextWidth){let i=this.textPxLength?this.textPxLength:(n(t,{width:"",whiteSpace:g||"nowrap"}),t.offsetWidth),s=l||0;(s>this.oldTextWidth||i>s)&&(/[ \-]/.test(t.textContent||t.innerText)||"ellipsis"===t.style.textOverflow)&&(n(t,{width:i>s||e?l+"px":"auto",display:"block",whiteSpace:g||"normal"}),this.oldTextWidth=l,m=!0)}this.hasBoxWidthChanged=m,c!==this.cTT&&(r=i.fontMetrics(t).b,a(e)&&(e!==(this.oldRotation||0)||o!==this.oldAlign)&&this.setSpanRotation(e,d,d),this.getSpanCorrection(!a(e)&&this.textPxLength||t.offsetWidth,r,p));let{xCorr:b=0,yCorr:x=0}=this;n(t,{left:`${u+b}px`,top:`${f+x}px`,transformOrigin:`${(s??u)-b-u-d}px ${(h??f)-x-f-d}px`}),this.cTT=c,this.oldRotation=e,this.oldAlign=o}}setSpanRotation(t,i,e){n(this.element,{transform:`rotate(${t}deg)`,transformOrigin:`${i}% ${e}px`})}add(t){let i,e=this.renderer.box.parentNode,s=[];if(this.parentGroup=t,t&&!(i=t.div)){let h=t;for(;h;)s.push(h),h=h.parentGroup;for(let t of s.reverse())i=f(t,e)}return(i||e).appendChild(this.element),this.added=!0,this.alignOnAdd&&this.updateTransform(),this}textSetter(i){i!==this.textStr&&(delete this.bBox,delete this.oldTextWidth,t.setElementHTML(this.element,i??""),this.textStr=i,this.doTransform=!0)}alignSetter(t){this.alignValue=this.textAlign=t,this.doTransform=!0}xSetter(t,i){this[i]=t,this.doTransform=!0}}let g=p.prototype;return g.visibilitySetter=g.opacitySetter=u,g.ySetter=g.rotationSetter=g.rotationOriginXSetter=g.rotationOriginYSetter=g.xSetter,p})),e(i,"Core/Axis/AxisDefaults.js",[],(function(){var t,i;return(i=t||(t={})).xAxis={alignTicks:!0,allowDecimals:void 0,panningEnabled:!0,zIndex:2,zoomEnabled:!0,dateTimeLabelFormats:{millisecond:{main:"%H:%M:%S.%L",range:!1},second:{main:"%H:%M:%S",range:!1},minute:{main:"%H:%M",range:!1},hour:{main:"%H:%M",range:!1},day:{main:"%e %b"},week:{main:"%e %b"},month:{main:"%b '%y"},year:{main:"%Y"}},endOnTick:!1,gridLineDashStyle:"Solid",gridZIndex:1,labels:{autoRotationLimit:80,distance:15,enabled:!0,indentation:10,overflow:"justify",reserveSpace:void 0,rotation:void 0,staggerLines:0,step:0,useHTML:!1,zIndex:7,style:{color:"#333333",cursor:"default",fontSize:"0.8em"}},maxPadding:.01,minorGridLineDashStyle:"Solid",minorTickLength:2,minorTickPosition:"outside",minorTicksPerMajor:5,minPadding:.01,offset:void 0,reversed:void 0,reversedStacks:!1,showEmpty:!0,showFirstLabel:!0,showLastLabel:!0,startOfWeek:1,startOnTick:!1,tickLength:10,tickPixelInterval:100,tickmarkPlacement:"between",tickPosition:"outside",title:{align:"middle",useHTML:!1,x:0,y:0,style:{color:"#666666",fontSize:"0.8em"}},visible:!0,minorGridLineColor:"#f2f2f2",minorGridLineWidth:1,minorTickColor:"#999999",lineColor:"#333333",lineWidth:1,gridLineColor:"#e6e6e6",gridLineWidth:void 0,tickColor:"#333333"},i.yAxis={reversedStacks:!0,endOnTick:!0,maxPadding:.05,minPadding:.05,tickPixelInterval:72,showLastLabel:!0,labels:{x:void 0},startOnTick:!0,title:{text:"Values"},stackLabels:{animation:{},allowOverlap:!1,enabled:!1,crop:!0,overflow:"justify",formatter:function(){let{numberFormatter:t}=this.axis.chart;return t(this.total||0,-1)},style:{color:"#000000",fontSize:"0.7em",fontWeight:"bold",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0},t})),e(i,"Core/Foundation.js",[i["Core/Utilities.js"]],(function(t){var i;let{addEvent:e,isFunction:s,objectEach:h,removeEvent:r}=t;return(i||(i={})).registerEventOptions=function(t,i){t.eventOptions=t.eventOptions||{},h(i.events,(function(i,h){t.eventOptions[h]!==i&&(t.eventOptions[h]&&(r(t,h,t.eventOptions[h]),delete t.eventOptions[h]),s(i)&&(t.eventOptions[h]=i,e(t,h,i,{order:0})))}))},i})),e(i,"Core/Axis/Tick.js",[i["Core/Templating.js"],i["Core/Globals.js"],i["Core/Utilities.js"]],(function(t,i,e){let{deg2rad:s}=i,{clamp:h,correctFloat:r,defined:n,destroyObjectProperties:o,extend:a,fireEvent:l,isNumber:c,merge:d,objectEach:u,pick:f}=e;return class{constructor(t,i,e,s,h){this.isNew=!0,this.isNewLabel=!0,this.axis=t,this.pos=i,this.type=e||"",this.parameters=h||{},this.tickmarkOffset=this.parameters.tickmarkOffset,this.options=this.parameters.options,l(this,"init"),e||s||this.addLabel()}addLabel(){let i,e,s,h=this,o=h.axis,d=o.options,u=o.chart,p=o.categories,g=o.logarithmic,m=o.names,b=h.pos,x=f(h.options&&h.options.labels,d.labels),v=o.tickPositions,y=b===v[0],M=b===v[v.length-1],w=(!x.step||1===x.step)&&1===o.tickInterval,k=v.info,S=h.label,O=this.parameters.category||(p?f(p[b],m[b],b):b);g&&c(O)&&(O=r(g.lin2log(O))),o.dateTime&&(k?i=(e=u.time.resolveDTLFormat(d.dateTimeLabelFormats[!d.grid&&k.higherRanks[b]||k.unitName])).main:c(O)&&(i=o.dateTime.getXDateFormat(O,d.dateTimeLabelFormats||{}))),h.isFirst=y,h.isLast=M;let A={axis:o,chart:u,dateTimeLabelFormat:i,isFirst:y,isLast:M,pos:b,tick:h,tickPositionInfo:k,value:O};l(this,"labelFormat",A);let L=i=>x.formatter?x.formatter.call(i,i):x.format?(i.text=o.defaultLabelFormatter.call(i),t.format(x.format,i,u)):o.defaultLabelFormatter.call(i),C=L.call(A,A),j=e&&e.list;h.shortenLabel=j?function(){for(s=0;s<j.length;s++)if(a(A,{dateTimeLabelFormat:j[s]}),S.attr({text:L.call(A,A)}),S.getBBox().width<o.getSlotWidth(h)-2*(x.padding||0))return;S.attr({text:""})}:void 0,w&&o._addedPlotLB&&h.moveLabel(C,x),n(S)||h.movedLabel?S&&S.textStr!==C&&!w&&(!S.textWidth||x.style.width||S.styles.width||S.css({width:null}),S.attr({text:C}),S.textPxLength=S.getBBox().width):(h.label=S=h.createLabel(C,x),h.rotation=0)}createLabel(t,i,e){let s=this.axis,h=s.chart,r=n(t)&&i.enabled?h.renderer.text(t,e?.x,e?.y,i.useHTML).add(s.labelGroup):void 0;return r&&(h.styledMode||r.css(d(i.style)),r.textPxLength=r.getBBox().width),r}destroy(){o(this,this.axis)}getPosition(t,i,e,s){let n=this.axis,o=n.chart,a=s&&o.oldChartHeight||o.chartHeight,c={x:t?r(n.translate(i+e,void 0,void 0,s)+n.transB):n.left+n.offset+(n.opposite?(s&&o.oldChartWidth||o.chartWidth)-n.right-n.left:0),y:t?a-n.bottom+n.offset-(n.opposite?n.height:0):r(a-n.translate(i+e,void 0,void 0,s)-n.transB)};return c.y=h(c.y,-1e9,1e9),l(this,"afterGetPosition",{pos:c}),c}getLabelPosition(t,i,e,h,r,o,a,c){let d,u,p=this.axis,g=p.transA,m=p.isLinked&&p.linkedParent?p.linkedParent.reversed:p.reversed,b=p.staggerLines,x=p.tickRotCorr||{x:0,y:0},v=h||p.reserveSpaceDefault?0:-p.labelOffset*("center"===p.labelAlign?.5:1),y=r.distance,M={};return d=0===p.side?e.rotation?-y:-e.getBBox().height:2===p.side?x.y+y:Math.cos(e.rotation*s)*(x.y-e.getBBox(!1,0).height/2),n(r.y)&&(d=0===p.side&&p.horiz?r.y+d:r.y),t=t+f(r.x,[0,1,0,-1][p.side]*y)+v+x.x-(o&&h?o*g*(m?-1:1):0),i=i+d-(o&&!h?o*g*(m?1:-1):0),b&&(u=a/(c||1)%b,p.opposite&&(u=b-u-1),i+=u*(p.labelOffset/b)),M.x=t,M.y=Math.round(i),l(this,"afterGetLabelPosition",{pos:M,tickmarkOffset:o,index:a}),M}getLabelSize(){return this.label?this.label.getBBox()[this.axis.horiz?"height":"width"]:0}getMarkPath(t,i,e,s,h=!1,r){return r.crispLine([["M",t,i],["L",t+(h?0:-e),i+(h?e:0)]],s)}handleOverflow(t){let i,e,h,r=this.axis,n=r.options.labels,o=t.x,a=r.chart.chartWidth,l=r.chart.spacing,c=f(r.labelLeft,Math.min(r.pos,l[3])),d=f(r.labelRight,Math.max(r.isRadial?0:r.pos+r.len,a-l[1])),u=this.label,p=this.rotation,g={left:0,center:.5,right:1}[r.labelAlign||u.attr("align")],m=u.getBBox().width,b=r.getSlotWidth(this),x={},v=b,y=1;p||"justify"!==n.overflow?p<0&&o-g*m<c?h=Math.round(o/Math.cos(p*s)-c):p>0&&o+g*m>d&&(h=Math.round((a-o)/Math.cos(p*s))):(i=o-g*m,e=o+(1-g)*m,i<c?v=t.x+v*(1-g)-c:e>d&&(v=d-t.x+v*g,y=-1),(v=Math.min(b,v))<b&&"center"===r.labelAlign&&(t.x+=y*(b-v-g*(b-Math.min(m,v)))),(m>v||r.autoRotation&&(u.styles||{}).width)&&(h=v)),h&&(this.shortenLabel?this.shortenLabel():(x.width=Math.floor(h)+"px",(n.style||{}).textOverflow||(x.textOverflow="ellipsis"),u.css(x)))}moveLabel(t,i){let e,s=this,h=s.label,r=s.axis,n=!1;h&&h.textStr===t?(s.movedLabel=h,n=!0,delete s.label):u(r.ticks,(function(i){n||i.isNew||i===s||!i.label||i.label.textStr!==t||(s.movedLabel=i.label,n=!0,i.labelPos=s.movedLabel.xy,delete i.label)})),!n&&(s.labelPos||h)&&(e=s.labelPos||h.xy,s.movedLabel=s.createLabel(t,i,e),s.movedLabel&&s.movedLabel.attr({opacity:0}))}render(t,i,e){let s=this.axis,h=s.horiz,n=this.pos,o=f(this.tickmarkOffset,s.tickmarkOffset),a=this.getPosition(h,n,o,i),c=s.pos,d=c+s.len,u=h?a.x:a.y;!s.chart.polar&&this.isNew&&(r(u)<c||u>d)&&(e=0);let p=f(e,this.label&&this.label.newOpacity,1);e=f(e,1),this.isActive=!0,this.renderGridLine(i,e),this.renderMark(a,e),this.renderLabel(a,i,p,t),this.isNew=!1,l(this,"afterRender")}renderGridLine(t,i){let e,s=this.axis,h=s.options,r={},n=this.pos,o=this.type,a=f(this.tickmarkOffset,s.tickmarkOffset),l=s.chart.renderer,c=this.gridLine,d=h.gridLineWidth,u=h.gridLineColor,p=h.gridLineDashStyle;"minor"===this.type&&(d=h.minorGridLineWidth,u=h.minorGridLineColor,p=h.minorGridLineDashStyle),c||(s.chart.styledMode||(r.stroke=u,r["stroke-width"]=d||0,r.dashstyle=p),o||(r.zIndex=1),t&&(i=0),this.gridLine=c=l.path().attr(r).addClass("highcharts-"+(o?o+"-":"")+"grid-line").add(s.gridGroup)),c&&(e=s.getPlotLinePath({value:n+a,lineWidth:c.strokeWidth(),force:"pass",old:t,acrossPanes:!1}))&&c[t||this.isNew?"attr":"animate"]({d:e,opacity:i})}renderMark(t,i){let e=this.axis,s=e.options,h=e.chart.renderer,r=this.type,n=e.tickSize(r?r+"Tick":"tick"),o=t.x,a=t.y,l=f(s["minor"!==r?"tickWidth":"minorTickWidth"],!r&&e.isXAxis?1:0),c=s["minor"!==r?"tickColor":"minorTickColor"],d=this.mark,u=!d;n&&(e.opposite&&(n[0]=-n[0]),d||(this.mark=d=h.path().addClass("highcharts-"+(r?r+"-":"")+"tick").add(e.axisGroup),e.chart.styledMode||d.attr({stroke:c,"stroke-width":l})),d[u?"attr":"animate"]({d:this.getMarkPath(o,a,n[0],d.strokeWidth(),e.horiz,h),opacity:i}))}renderLabel(t,i,e,s){let h=this.axis,r=h.horiz,n=h.options,o=this.label,a=n.labels,l=a.step,d=f(this.tickmarkOffset,h.tickmarkOffset),u=t.x,p=t.y,g=!0;o&&c(u)&&(o.xy=t=this.getLabelPosition(u,p,o,r,a,d,s,l),this.isFirst&&!this.isLast&&!n.showFirstLabel||this.isLast&&!this.isFirst&&!n.showLastLabel?g=!1:!r||a.step||a.rotation||i||0===e||this.handleOverflow(t),l&&s%l&&(g=!1),g&&c(t.y)?(t.opacity=e,o[this.isNewLabel?"attr":"animate"](t).show(!0),this.isNewLabel=!1):(o.hide(),this.isNewLabel=!0))}replaceMovedLabel(){let t=this.label,i=this.axis;t&&!this.isNew&&(t.animate({opacity:0},void 0,t.destroy),delete this.label),i.isDirty=!0,this.label=this.movedLabel,delete this.movedLabel}}})),e(i,"Core/Axis/Axis.js",[i["Core/Animation/AnimationUtilities.js"],i["Core/Axis/AxisDefaults.js"],i["Core/Color/Color.js"],i["Core/Defaults.js"],i["Core/Foundation.js"],i["Core/Globals.js"],i["Core/Axis/Tick.js"],i["Core/Utilities.js"]],(function(t,i,e,s,h,r,n,o){let{animObject:a}=t,{xAxis:l,yAxis:c}=i,{defaultOptions:d}=s,{registerEventOptions:u}=h,{deg2rad:f}=r,{arrayMax:p,arrayMin:g,clamp:m,correctFloat:b,defined:x,destroyObjectProperties:v,erase:y,error:M,extend:w,fireEvent:k,getClosestDistance:S,insertItem:O,isArray:A,isNumber:L,isString:C,merge:j,normalizeTickInterval:T,objectEach:P,pick:E,relativeLength:z,removeEvent:D,splat:N,syncTimeout:I}=o,F=(t,i)=>T(i,void 0,void 0,E(t.options.allowDecimals,i<.5||void 0!==t.tickAmount),!!t.tickAmount);w(d,{xAxis:l,yAxis:j(l,c)});class R{constructor(t,i,e){this.init(t,i,e)}init(t,i,e=this.coll){let s="xAxis"===e,h=this.isZAxis||(t.inverted?!s:s);this.chart=t,this.horiz=h,this.isXAxis=s,this.coll=e,k(this,"init",{userOptions:i}),this.opposite=E(i.opposite,this.opposite),this.side=E(i.side,this.side,h?this.opposite?0:2:this.opposite?1:3),this.setOptions(i);let r=this.options,n=r.labels;this.type??(this.type=r.type||"linear"),this.uniqueNames??(this.uniqueNames=r.uniqueNames??!0),k(this,"afterSetType"),this.userOptions=i,this.minPixelPadding=0,this.reversed=E(r.reversed,this.reversed),this.visible=r.visible,this.zoomEnabled=r.zoomEnabled,this.hasNames="category"===this.type||!0===r.categories,this.categories=A(r.categories)&&r.categories||(this.hasNames?[]:void 0),this.names||(this.names=[],this.names.keys={}),this.plotLinesAndBandsGroups={},this.positiveValuesOnly=!!this.logarithmic,this.isLinked=x(r.linkedTo),this.ticks={},this.labelEdge=[],this.minorTicks={},this.plotLinesAndBands=[],this.alternateBands={},this.len??(this.len=0),this.minRange=this.userMinRange=r.minRange||r.maxZoom,this.range=r.range,this.offset=r.offset||0,this.max=void 0,this.min=void 0;let o=E(r.crosshair,N(t.options.tooltip.crosshairs)[s?0:1]);this.crosshair=!0===o?{}:o,-1===t.axes.indexOf(this)&&(s?t.axes.splice(t.xAxis.length,0,this):t.axes.push(this),O(this,t[this.coll])),t.orderItems(this.coll),this.series=this.series||[],t.inverted&&!this.isZAxis&&s&&!x(this.reversed)&&(this.reversed=!0),this.labelRotation=L(n.rotation)?n.rotation:void 0,u(this,r),k(this,"afterInit")}setOptions(t){this.options=j(this.horiz?{labels:{autoRotation:[-45],padding:4},margin:15}:{labels:{padding:1},title:{rotation:90*this.side}},d[this.coll],t),k(this,"afterSetOptions",{userOptions:t})}defaultLabelFormatter(){let t,i,e=this.axis,{numberFormatter:s}=this.chart,h=L(this.value)?this.value:NaN,r=e.chart.time,n=e.categories,o=this.dateTimeLabelFormat,a=d.lang,l=a.numericSymbols,c=a.numericSymbolMagnitude||1e3,u=e.logarithmic?Math.abs(h):e.tickInterval,f=l&&l.length;if(n)i=`${this.value}`;else if(o)i=r.dateFormat(o,h);else if(f&&l&&u>=1e3)for(;f--&&void 0===i;)u>=(t=Math.pow(c,f+1))&&10*h%t==0&&null!==l[f]&&0!==h&&(i=s(h/t,-1)+l[f]);return void 0===i&&(i=Math.abs(h)>=1e4?s(h,-1):s(h,-1,void 0,"")),i}getSeriesExtremes(){let t,i=this;k(this,"getSeriesExtremes",null,(function(){i.hasVisibleSeries=!1,i.dataMin=i.dataMax=i.threshold=void 0,i.softThreshold=!i.isXAxis,i.series.forEach((e=>{if(e.reserveSpace()){let s,h,r,n=e.options,o=n.threshold;if(i.hasVisibleSeries=!0,i.positiveValuesOnly&&0>=(o||0)&&(o=void 0),i.isXAxis)(s=e.xData)&&s.length&&(s=i.logarithmic?s.filter((t=>t>0)):s,h=(t=e.getXExtremes(s)).min,r=t.max,L(h)||h instanceof Date||(s=s.filter(L),h=(t=e.getXExtremes(s)).min,r=t.max),s.length&&(i.dataMin=Math.min(E(i.dataMin,h),h),i.dataMax=Math.max(E(i.dataMax,r),r)));else{let t=e.applyExtremes();L(t.dataMin)&&(h=t.dataMin,i.dataMin=Math.min(E(i.dataMin,h),h)),L(t.dataMax)&&(r=t.dataMax,i.dataMax=Math.max(E(i.dataMax,r),r)),x(o)&&(i.threshold=o),(!n.softThreshold||i.positiveValuesOnly)&&(i.softThreshold=!1)}}}))})),k(this,"afterGetSeriesExtremes")}translate(t,i,e,s,h,r){let n=this.linkedParent||this,o=s&&n.old?n.old.min:n.min;if(!L(o))return NaN;let a=n.minPixelPadding,l=(n.isOrdinal||n.brokenAxis?.hasBreaks||n.logarithmic&&h)&&n.lin2val,c=1,d=0,u=s&&n.old?n.old.transA:n.transA,f=0;return u||(u=n.transA),e&&(c*=-1,d=n.len),n.reversed&&(c*=-1,d-=c*(n.sector||n.len)),i?(f=(t=t*c+d-a)/u+o,l&&(f=n.lin2val(f))):(l&&(t=n.val2lin(t)),f=c*(t-o)*u+d+c*a+(L(r)?u*r:0),n.isRadial||(f=b(f))),f}toPixels(t,i){return this.translate(t,!1,!this.horiz,void 0,!0)+(i?0:this.pos)}toValue(t,i){return this.translate(t-(i?0:this.pos),!0,!this.horiz,void 0,!0)}getPlotLinePath(t){let i,e,s,h,r,n=this,o=n.chart,a=n.left,l=n.top,c=t.old,d=t.value,u=t.lineWidth,f=c&&o.oldChartHeight||o.chartHeight,p=c&&o.oldChartWidth||o.chartWidth,g=n.transB,b=t.translatedValue,x=t.force;function v(t,i,e){return"pass"!==x&&(t<i||t>e)&&(x?t=m(t,i,e):r=!0),t}let y={value:d,lineWidth:u,old:c,force:x,acrossPanes:t.acrossPanes,translatedValue:b};return k(this,"getPlotLinePath",y,(function(t){i=s=(b=m(b=E(b,n.translate(d,void 0,void 0,c)),-1e9,1e9))+g,e=h=f-b-g,L(b)?n.horiz?(e=l,h=f-n.bottom+(n.options.isInternal?0:o.scrollablePixelsY||0),i=s=v(i,a,a+n.width)):(i=a,s=p-n.right+(o.scrollablePixelsX||0),e=h=v(e,l,l+n.height)):(r=!0,x=!1),t.path=r&&!x?void 0:o.renderer.crispLine([["M",i,e],["L",s,h]],u||1)})),y.path}getLinearTickPositions(t,i,e){let s,h,r,n=b(Math.floor(i/t)*t),o=b(Math.ceil(e/t)*t),a=[];if(b(n+t)===n&&(r=20),this.single)return[i];for(s=n;s<=o&&(a.push(s),(s=b(s+t,r))!==h);)h=s;return a}getMinorTickInterval(){let{minorTicks:t,minorTickInterval:i}=this.options;return!0===t?E(i,"auto"):!1!==t?i:void 0}getMinorTickPositions(){let t,i=this.options,e=this.tickPositions,s=this.minorTickInterval,h=this.pointRangePadding||0,r=(this.min||0)-h,n=(this.max||0)+h,o=n-r,a=[];if(o&&o/s<this.len/3){let h=this.logarithmic;if(h)this.paddedTicks.forEach((function(t,i,e){i&&a.push.apply(a,h.getLogTickPositions(s,e[i-1],e[i],!0))}));else if(this.dateTime&&"auto"===this.getMinorTickInterval())a=a.concat(this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(s),r,n,i.startOfWeek));else for(t=r+(e[0]-r)%s;t<=n&&t!==a[0];t+=s)a.push(t)}return 0!==a.length&&this.trimTicks(a),a}adjustForMinRange(){let t,i,e,s,h=this.options,r=this.logarithmic,{max:n,min:o,minRange:a}=this;this.isXAxis&&void 0===a&&!r&&(a=x(h.min)||x(h.max)||x(h.floor)||x(h.ceiling)?null:Math.min(5*(S(this.series.map((t=>(t.xIncrement?t.xData?.slice(0,2):t.xData)||[])))||0),this.dataMax-this.dataMin)),L(n)&&L(o)&&L(a)&&n-o<a&&(i=this.dataMax-this.dataMin>=a,t=(a-n+o)/2,e=[o-t,E(h.min,o-t)],i&&(e[2]=r?r.log2lin(this.dataMin):this.dataMin),s=[(o=p(e))+a,E(h.max,o+a)],i&&(s[2]=r?r.log2lin(this.dataMax):this.dataMax),(n=g(s))-o<a&&(e[0]=n-a,e[1]=E(h.min,n-a),o=p(e))),this.minRange=a,this.min=o,this.max=n}getClosest(){let t,i;if(this.categories)i=1;else{let e=[];this.series.forEach((function(t){let s=t.closestPointRange;1===t.xData?.length?e.push(t.xData[0]):!t.noSharedTooltip&&x(s)&&t.reserveSpace()&&(i=x(i)?Math.min(i,s):s)})),e.length&&(e.sort(((t,i)=>t-i)),t=S([e]))}return t&&i?Math.min(t,i):t||i}nameToX(t){let i,e=A(this.options.categories),s=e?this.categories:this.names,h=t.options.x;return t.series.requireSorting=!1,x(h)||(h=this.uniqueNames&&s?e?s.indexOf(t.name):E(s.keys[t.name],-1):t.series.autoIncrement()),-1===h?!e&&s&&(i=s.length):i=h,void 0!==i?(this.names[i]=t.name,this.names.keys[t.name]=i):t.x&&(i=t.x),i}updateNames(){let t=this,i=this.names;i.length>0&&(Object.keys(i.keys).forEach((function(t){delete i.keys[t]})),i.length=0,this.minRange=this.userMinRange,(this.series||[]).forEach((i=>{i.xIncrement=null,(!i.points||i.isDirtyData)&&(t.max=Math.max(t.max,i.xData.length-1),i.processData(),i.generatePoints()),i.data.forEach((function(e,s){let h;e?.options&&void 0!==e.name&&void 0!==(h=t.nameToX(e))&&h!==e.x&&(e.x=h,i.xData[s]=h)}))})))}setAxisTranslation(){let t,i,e=this,s=e.max-e.min,h=e.linkedParent,r=!!e.categories,n=e.isXAxis,o=e.axisPointRange||0,a=0,l=0,c=e.transA;(n||r||o)&&(t=e.getClosest(),h?(a=h.minPointOffset,l=h.pointRangePadding):e.series.forEach((function(i){let s=r?1:n?E(i.options.pointRange,t,0):e.axisPointRange||0,h=i.options.pointPlacement;if(o=Math.max(o,s),!e.single||r){let t=i.is("xrange")?!n:n;a=Math.max(a,t&&C(h)?0:s/2),l=Math.max(l,t&&"on"===h?0:s)}})),i=e.ordinal&&e.ordinal.slope&&t?e.ordinal.slope/t:1,e.minPointOffset=a*=i,e.pointRangePadding=l*=i,e.pointRange=Math.min(o,e.single&&r?1:s),n&&t&&(e.closestPointRange=t)),e.translationSlope=e.transA=c=e.staticScale||e.len/(s+l||1),e.transB=e.horiz?e.left:e.bottom,e.minPixelPadding=c*a,k(this,"afterSetAxisTranslation")}minFromRange(){let{max:t,min:i}=this;return L(t)&&L(i)&&t-i||void 0}setTickInterval(t){let i,e,s,h,r,{categories:n,chart:o,dataMax:a,dataMin:l,dateTime:c,isXAxis:d,logarithmic:u,options:f,softThreshold:p}=this,g=L(this.threshold)?this.threshold:void 0,m=this.minRange||0,{ceiling:v,floor:y,linkedTo:w,softMax:S,softMin:O}=f,A=L(w)&&o[this.coll]?.[w],C=f.tickPixelInterval,j=f.maxPadding,T=f.minPadding,P=0,z=L(f.tickInterval)&&f.tickInterval>=0?f.tickInterval:void 0;if(c||n||A||this.getTickAmount(),h=E(this.userMin,f.min),r=E(this.userMax,f.max),A?(this.linkedParent=A,i=A.getExtremes(),this.min=E(i.min,i.dataMin),this.max=E(i.max,i.dataMax),this.type!==A.type&&M(11,!0,o)):(p&&x(g)&&L(a)&&L(l)&&(l>=g?(e=g,T=0):a<=g&&(s=g,j=0)),this.min=E(h,e,l),this.max=E(r,s,a)),L(this.max)&&L(this.min)&&(u&&(this.positiveValuesOnly&&!t&&0>=Math.min(this.min,E(l,this.min))&&M(10,!0,o),this.min=b(u.log2lin(this.min),16),this.max=b(u.log2lin(this.max),16)),this.range&&L(l)&&(this.userMin=this.min=h=Math.max(l,this.minFromRange()||0),this.userMax=r=this.max,this.range=void 0)),k(this,"foundExtremes"),this.adjustForMinRange(),L(this.min)&&L(this.max)){if(!L(this.userMin)&&L(O)&&O<this.min&&(this.min=h=O),!L(this.userMax)&&L(S)&&S>this.max&&(this.max=r=S),n||this.axisPointRange||this.stacking?.usePercentage||A||!(P=this.max-this.min)||(!x(h)&&T&&(this.min-=P*T),x(r)||!j||(this.max+=P*j)),!L(this.userMin)&&L(y)&&(this.min=Math.max(this.min,y)),!L(this.userMax)&&L(v)&&(this.max=Math.min(this.max,v)),p&&L(l)&&L(a)){let t=g||0;!x(h)&&this.min<t&&l>=t?this.min=f.minRange?Math.min(t,this.max-m):t:!x(r)&&this.max>t&&a<=t&&(this.max=f.minRange?Math.max(t,this.min+m):t)}!o.polar&&this.min>this.max&&(x(f.min)?this.max=this.min:x(f.max)&&(this.min=this.max)),P=this.max-this.min}if(this.tickInterval=this.min!==this.max&&L(this.min)&&L(this.max)?A&&!z&&C===A.options.tickPixelInterval?z=A.tickInterval:E(z,this.tickAmount?P/Math.max(this.tickAmount-1,1):void 0,n?1:P*C/Math.max(this.len,C)):1,d&&!t){let t=this.min!==this.old?.min||this.max!==this.old?.max;this.series.forEach((function(i){i.forceCrop=i.forceCropping?.(),i.processData(t)})),k(this,"postProcessData",{hasExtremesChanged:t})}this.setAxisTranslation(),k(this,"initialAxisTranslation"),this.pointRange&&!z&&(this.tickInterval=Math.max(this.pointRange,this.tickInterval));let D=E(f.minTickInterval,c&&!this.series.some((t=>t.noSharedTooltip))?this.closestPointRange:0);!z&&this.tickInterval<D&&(this.tickInterval=D),c||u||z||(this.tickInterval=F(this,this.tickInterval)),this.tickAmount||(this.tickInterval=this.unsquish()),this.setTickPositions()}setTickPositions(){let t,i=this.options,e=i.tickPositions,s=i.tickPositioner,h=this.getMinorTickInterval(),r=!this.isPanning,n=r&&i.startOnTick,o=r&&i.endOnTick,a=[];if(this.tickmarkOffset=this.categories&&"between"===i.tickmarkPlacement&&1===this.tickInterval?.5:0,this.single=this.min===this.max&&x(this.min)&&!this.tickAmount&&(this.min%1==0||!1!==i.allowDecimals),e)a=e.slice();else if(L(this.min)&&L(this.max)){if(!this.ordinal?.positions&&(this.max-this.min)/this.tickInterval>Math.max(2*this.len,200))a=[this.min,this.max],M(19,!1,this.chart);else if(this.dateTime)a=this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(this.tickInterval,i.units),this.min,this.max,i.startOfWeek,this.ordinal?.positions,this.closestPointRange,!0);else if(this.logarithmic)a=this.logarithmic.getLogTickPositions(this.tickInterval,this.min,this.max);else{let t=this.tickInterval,i=t;for(;i<=2*t&&(a=this.getLinearTickPositions(this.tickInterval,this.min,this.max),this.tickAmount&&a.length>this.tickAmount);)this.tickInterval=F(this,i*=1.1)}a.length>this.len&&(a=[a[0],a[a.length-1]])[0]===a[1]&&(a.length=1),s&&(this.tickPositions=a,(t=s.apply(this,[this.min,this.max]))&&(a=t))}this.tickPositions=a,this.minorTickInterval="auto"===h&&this.tickInterval?this.tickInterval/i.minorTicksPerMajor:h,this.paddedTicks=a.slice(0),this.trimTicks(a,n,o),!this.isLinked&&L(this.min)&&L(this.max)&&(this.single&&a.length<2&&!this.categories&&!this.series.some((t=>t.is("heatmap")&&"between"===t.options.pointPlacement))&&(this.min-=.5,this.max+=.5),e||t||this.adjustTickAmount()),k(this,"afterSetTickPositions")}trimTicks(t,i,e){let s=t[0],h=t[t.length-1],r=!this.isOrdinal&&this.minPointOffset||0;if(k(this,"trimTicks"),!this.isLinked){if(i&&s!==-1/0)this.min=s;else for(;this.min-r>t[0];)t.shift();if(e)this.max=h;else for(;this.max+r<t[t.length-1];)t.pop();0===t.length&&x(s)&&!this.options.tickPositions&&t.push((h+s)/2)}}alignToOthers(){let t,i=this,e=i.chart,s=[this],h=i.options,r=e.options.chart,n="yAxis"===this.coll&&r.alignThresholds,o=[];if(i.thresholdAlignment=void 0,(!1!==r.alignTicks&&h.alignTicks||n)&&!1!==h.startOnTick&&!1!==h.endOnTick&&!i.logarithmic){let h=t=>{let{horiz:i,options:e}=t;return[i?e.left:e.top,e.width,e.height,e.pane].join(",")},r=h(this);e[this.coll].forEach((function(e){let{series:n}=e;n.length&&n.some((t=>t.visible))&&e!==i&&h(e)===r&&(t=!0,s.push(e))}))}if(t&&n){s.forEach((t=>{let e=t.getThresholdAlignment(i);L(e)&&o.push(e)}));let t=o.length>1?o.reduce(((t,i)=>t+i),0)/o.length:void 0;s.forEach((i=>{i.thresholdAlignment=t}))}return t}getThresholdAlignment(t){if((!L(this.dataMin)||this!==t&&this.series.some((t=>t.isDirty||t.isDirtyData)))&&this.getSeriesExtremes(),L(this.threshold)){let t=m((this.threshold-(this.dataMin||0))/((this.dataMax||0)-(this.dataMin||0)),0,1);return this.options.reversed&&(t=1-t),t}}getTickAmount(){let t=this.options,i=t.tickPixelInterval,e=t.tickAmount;x(t.tickInterval)||e||!(this.len<i)||this.isRadial||this.logarithmic||!t.startOnTick||!t.endOnTick||(e=2),!e&&this.alignToOthers()&&(e=Math.ceil(this.len/i)+1),e<4&&(this.finalTickAmt=e,e=5),this.tickAmount=e}adjustTickAmount(){let t,i,e,s=this,{finalTickAmt:h,max:r,min:n,options:o,tickPositions:a,tickAmount:l,thresholdAlignment:c}=s,d=a?.length,u=E(s.threshold,s.softThreshold?0:null),f=s.tickInterval,p=()=>a.push(b(a[a.length-1]+f)),g=()=>a.unshift(b(a[0]-f));if(L(c)&&(e=c<.5?Math.ceil(c*(l-1)):Math.floor(c*(l-1)),o.reversed&&(e=l-1-e)),s.hasData()&&L(n)&&L(r)){let c=()=>{s.transA*=(d-1)/(l-1),s.min=o.startOnTick?a[0]:Math.min(n,a[0]),s.max=o.endOnTick?a[a.length-1]:Math.max(r,a[a.length-1])};if(L(e)&&L(s.threshold)){for(;a[e]!==u||a.length!==l||a[0]>n||a[a.length-1]<r;){for(a.length=0,a.push(s.threshold);a.length<l;)void 0===a[e]||a[e]>s.threshold?g():p();if(f>8*s.tickInterval)break;f*=2}c()}else if(d<l){for(;a.length<l;)a.length%2||n===u?p():g();c()}if(x(h)){for(i=t=a.length;i--;)(3===h&&i%2==1||h<=2&&i>0&&i<t-1)&&a.splice(i,1);s.finalTickAmt=void 0}}}setScale(){let{coll:t,stacking:i}=this,e=!1,s=!1;this.series.forEach((t=>{e=e||t.isDirtyData||t.isDirty,s=s||t.xAxis&&t.xAxis.isDirty||!1})),this.setAxisSize();let h=this.len!==(this.old&&this.old.len);h||e||s||this.isLinked||this.forceRedraw||this.userMin!==(this.old&&this.old.userMin)||this.userMax!==(this.old&&this.old.userMax)||this.alignToOthers()?(i&&"yAxis"===t&&i.buildStacks(),this.forceRedraw=!1,this.userMinRange||(this.minRange=void 0),this.getSeriesExtremes(),this.setTickInterval(),i&&"xAxis"===t&&i.buildStacks(),this.isDirty||(this.isDirty=h||this.min!==this.old?.min||this.max!==this.old?.max)):i&&i.cleanStacks(),e&&delete this.allExtremes,k(this,"afterSetScale")}setExtremes(t,i,e=!0,s,h){this.series.forEach((t=>{delete t.kdTree})),k(this,"setExtremes",h=w(h,{min:t,max:i}),(t=>{this.userMin=t.min,this.userMax=t.max,this.eventArgs=t,e&&this.chart.redraw(s)}))}setAxisSize(){let t=this.chart,i=this.options,e=i.offsets||[0,0,0,0],s=this.horiz,h=this.width=Math.round(z(E(i.width,t.plotWidth-e[3]+e[1]),t.plotWidth)),r=this.height=Math.round(z(E(i.height,t.plotHeight-e[0]+e[2]),t.plotHeight)),n=this.top=Math.round(z(E(i.top,t.plotTop+e[0]),t.plotHeight,t.plotTop)),o=this.left=Math.round(z(E(i.left,t.plotLeft+e[3]),t.plotWidth,t.plotLeft));this.bottom=t.chartHeight-r-n,this.right=t.chartWidth-h-o,this.len=Math.max(s?h:r,0),this.pos=s?o:n}getExtremes(){let t=this.logarithmic;return{min:t?b(t.lin2log(this.min)):this.min,max:t?b(t.lin2log(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}}getThreshold(t){let i=this.logarithmic,e=i?i.lin2log(this.min):this.min,s=i?i.lin2log(this.max):this.max;return null===t||t===-1/0?t=e:t===1/0?t=s:e>t?t=e:s<t&&(t=s),this.translate(t,0,1,0,1)}autoLabelAlign(t){let i=(E(t,0)-90*this.side+720)%360,e={align:"center"};return k(this,"autoLabelAlign",e,(function(t){i>15&&i<165?t.align="right":i>195&&i<345&&(t.align="left")})),e.align}tickSize(t){let i,e=this.options,s=E(e["tick"===t?"tickWidth":"minorTickWidth"],"tick"===t&&this.isXAxis&&!this.categories?1:0),h=e["tick"===t?"tickLength":"minorTickLength"];s&&h&&("inside"===e[t+"Position"]&&(h=-h),i=[h,s]);let r={tickSize:i};return k(this,"afterTickSize",r),r.tickSize}labelMetrics(){let t=this.chart.renderer,i=this.ticks,e=i[Object.keys(i)[0]]||{};return this.chart.renderer.fontMetrics(e.label||e.movedLabel||t.box)}unsquish(){let t,i,e=this.options.labels,s=e.padding||0,h=this.horiz,r=this.tickInterval,n=this.len/(((this.categories?1:0)+this.max-this.min)/r),o=e.rotation,a=b(.8*this.labelMetrics().h),l=Math.max(this.max-this.min,0),c=function(t){let i=(t+2*s)/(n||1);return(i=i>1?Math.ceil(i):1)*r>l&&t!==1/0&&n!==1/0&&l&&(i=Math.ceil(l/r)),b(i*r)},d=r,u=Number.MAX_VALUE;if(h){if(!e.staggerLines&&(L(o)?i=[o]:n<e.autoRotationLimit&&(i=e.autoRotation)),i){let e,s;for(let h of i)(h===o||h&&h>=-90&&h<=90)&&(s=(e=c(Math.abs(a/Math.sin(f*h))))+Math.abs(h/360))<u&&(u=s,t=h,d=e)}}else d=c(.75*a);return this.autoRotation=i,this.labelRotation=E(t,L(o)?o:0),e.step?r:d}getSlotWidth(t){let i=this.chart,e=this.horiz,s=this.options.labels,h=Math.max(this.tickPositions.length-(this.categories?0:1),1),r=i.margin[3];if(t&&L(t.slotWidth))return t.slotWidth;if(e&&s.step<2)return s.rotation?0:(this.staggerLines||1)*this.len/h;if(!e){let t=s.style.width;if(void 0!==t)return parseInt(String(t),10);if(r)return r-i.spacing[3]}return.33*i.chartWidth}renderUnsquish(){let t,i,e,s,h=this.chart,r=h.renderer,n=this.tickPositions,o=this.ticks,a=this.options.labels,l=a.style,c=this.horiz,d=this.getSlotWidth(),u=Math.max(1,Math.round(d-(c?2*(a.padding||0):a.distance||0))),f={},p=this.labelMetrics(),g=l.textOverflow,m=0;if(C(a.rotation)||(f.rotation=a.rotation||0),n.forEach((function(t){let i=o[t];i.movedLabel&&i.replaceMovedLabel(),i&&i.label&&i.label.textPxLength>m&&(m=i.label.textPxLength)})),this.maxLabelLength=m,this.autoRotation)m>u&&m>p.h?f.rotation=this.labelRotation:this.labelRotation=0;else if(d&&(t=u,!g))for(i="clip",s=n.length;!c&&s--;)(e=o[n[s]].label)&&("ellipsis"===e.styles.textOverflow?e.css({textOverflow:"clip"}):e.textPxLength>d&&e.css({width:d+"px"}),e.getBBox().height>this.len/n.length-(p.h-p.f)&&(e.specificTextOverflow="ellipsis"));f.rotation&&(t=m>.5*h.chartHeight?.33*h.chartHeight:m,g||(i="ellipsis")),this.labelAlign=a.align||this.autoLabelAlign(this.labelRotation),this.labelAlign&&(f.align=this.labelAlign),n.forEach((function(e){let s=o[e],h=s&&s.label,r=l.width,n={};h&&(h.attr(f),s.shortenLabel?s.shortenLabel():t&&!r&&"nowrap"!==l.whiteSpace&&(t<h.textPxLength||"SPAN"===h.element.tagName)?(n.width=t+"px",g||(n.textOverflow=h.specificTextOverflow||i),h.css(n)):!h.styles.width||n.width||r||h.css({width:null}),delete h.specificTextOverflow,s.rotation=f.rotation)}),this),this.tickRotCorr=r.rotCorr(p.b,this.labelRotation||0,0!==this.side)}hasData(){return this.series.some((function(t){return t.hasData()}))||this.options.showEmpty&&x(this.min)&&x(this.max)}addTitle(t){let i,e=this.opposite,s=this.options.title,h=this.chart.styledMode;this.axisTitle||((i=s.textAlign)||(i=(this.horiz?{low:"left",middle:"center",high:"right"}:{low:e?"right":"left",middle:"center",high:e?"left":"right"})[s.align]),this.axisTitle=this.chart.renderer.text(s.text||"",0,0,s.useHTML).attr({zIndex:7,rotation:s.rotation||0,align:i}).addClass("highcharts-axis-title"),h||this.axisTitle.css(j(s.style)),this.axisTitle.add(this.axisGroup),this.axisTitle.isNew=!0),h||s.style.width||this.isRadial||this.axisTitle.css({width:this.len+"px"}),this.axisTitle[t?"show":"hide"](t)}generateTick(t){let i=this.ticks;i[t]?i[t].addLabel():i[t]=new n(this,t)}createGroups(){let{axisParent:t,chart:i,coll:e,options:s}=this,h=i.renderer,r=(i,r,n)=>h.g(i).attr({zIndex:n}).addClass(`highcharts-${e.toLowerCase()}${r} `+(this.isRadial?`highcharts-radial-axis${r} `:"")+(s.className||"")).add(t);this.axisGroup||(this.gridGroup=r("grid","-grid",s.gridZIndex),this.axisGroup=r("axis","",s.zIndex),this.labelGroup=r("axis-labels","-labels",s.labels.zIndex))}getOffset(){let t,i,e,s,h=this,{chart:r,horiz:n,options:o,side:a,ticks:l,tickPositions:c,coll:d}=h,u=r.inverted&&!h.isZAxis?[1,0,3,2][a]:a,f=h.hasData(),p=o.title,g=o.labels,m=L(o.crossing),b=r.axisOffset,v=r.clipOffset,y=[-1,1,1,-1][a],M=0,w=0,S=0;if(h.showAxis=t=f||o.showEmpty,h.staggerLines=h.horiz&&g.staggerLines||void 0,h.createGroups(),f||h.isLinked?(c.forEach((function(t){h.generateTick(t)})),h.renderUnsquish(),h.reserveSpaceDefault=0===a||2===a||{1:"left",3:"right"}[a]===h.labelAlign,E(g.reserveSpace,!m&&null,"center"===h.labelAlign||null,h.reserveSpaceDefault)&&c.forEach((function(t){S=Math.max(l[t].getLabelSize(),S)})),h.staggerLines&&(S*=h.staggerLines),h.labelOffset=S*(h.opposite?-1:1)):P(l,(function(t,i){t.destroy(),delete l[i]})),p?.text&&!1!==p.enabled&&(h.addTitle(t),t&&!m&&!1!==p.reserveSpace&&(h.titleOffset=M=h.axisTitle.getBBox()[n?"height":"width"],w=x(i=p.offset)?0:E(p.margin,n?5:10))),h.renderLine(),h.offset=y*E(o.offset,b[a]?b[a]+(o.margin||0):0),h.tickRotCorr=h.tickRotCorr||{x:0,y:0},s=0===a?-h.labelMetrics().h:2===a?h.tickRotCorr.y:0,e=Math.abs(S)+w,S&&(e-=s,e+=y*(n?E(g.y,h.tickRotCorr.y+y*g.distance):E(g.x,y*g.distance))),h.axisTitleMargin=E(i,e),h.getMaxLabelDimensions&&(h.maxLabelDimensions=h.getMaxLabelDimensions(l,c)),"colorAxis"!==d&&v){let t=this.tickSize("tick");b[a]=Math.max(b[a],(h.axisTitleMargin||0)+M+y*h.offset,e,c&&c.length&&t?t[0]+y*h.offset:0);let i=!h.axisLine||o.offset?0:h.axisLine.strokeWidth()/2;v[u]=Math.max(v[u],i)}k(this,"afterGetOffset")}getLinePath(t){let i=this.chart,e=this.opposite,s=this.offset,h=this.horiz,r=this.left+(e?this.width:0)+s,n=i.chartHeight-this.bottom-(e?this.height:0)+s;return e&&(t*=-1),i.renderer.crispLine([["M",h?this.left:r,h?n:this.top],["L",h?i.chartWidth-this.right:r,h?n:i.chartHeight-this.bottom]],t)}renderLine(){this.axisLine||(this.axisLine=this.chart.renderer.path().addClass("highcharts-axis-line").add(this.axisGroup),this.chart.styledMode||this.axisLine.attr({stroke:this.options.lineColor,"stroke-width":this.options.lineWidth,zIndex:7}))}getTitlePosition(t){let i=this.horiz,e=this.left,s=this.top,h=this.len,r=this.options.title,n=i?e:s,o=this.opposite,a=this.offset,l=r.x,c=r.y,d=this.chart.renderer.fontMetrics(t),u=t?Math.max(t.getBBox(!1,0).height-d.h-1,0):0,f={low:n+(i?0:h),middle:n+h/2,high:n+(i?h:0)}[r.align],p=(i?s+this.height:e)+(i?1:-1)*(o?-1:1)*(this.axisTitleMargin||0)+[-u,u,d.f,-u][this.side],g={x:i?f+l:p+(o?this.width:0)+a+l,y:i?p+c-(o?this.height:0)+a:f+c};return k(this,"afterGetTitlePosition",{titlePosition:g}),g}renderMinorTick(t,i){let e=this.minorTicks;e[t]||(e[t]=new n(this,t,"minor")),i&&e[t].isNew&&e[t].render(null,!0),e[t].render(null,!1,1)}renderTick(t,i,e){let s=this.ticks;(!this.isLinked||t>=this.min&&t<=this.max||this.grid&&this.grid.isColumn)&&(s[t]||(s[t]=new n(this,t)),e&&s[t].isNew&&s[t].render(i,!0,-1),s[t].render(i))}render(){let t,i,e=this,s=e.chart,h=e.logarithmic,o=e.options,l=e.isLinked,c=e.tickPositions,d=e.axisTitle,u=e.ticks,f=e.minorTicks,p=e.alternateBands,g=o.stackLabels,m=o.alternateGridColor,b=o.crossing,x=e.tickmarkOffset,v=e.axisLine,y=e.showAxis,M=a(s.renderer.globalAnimation);if(e.labelEdge.length=0,e.overlap=!1,[u,f,p].forEach((function(t){P(t,(function(t){t.isActive=!1}))})),L(b)){let t=this.isXAxis?s.yAxis[0]:s.xAxis[0],i=[1,-1,-1,1][this.side];if(t){let s=t.toPixels(b,!0);e.horiz&&(s=t.len-s),e.offset=i*s}}if(e.hasData()||l){let a=e.chart.hasRendered&&e.old&&L(e.old.min);e.minorTickInterval&&!e.categories&&e.getMinorTickPositions().forEach((function(t){e.renderMinorTick(t,a)})),c.length&&(c.forEach((function(t,i){e.renderTick(t,i,a)})),x&&(0===e.min||e.single)&&(u[-1]||(u[-1]=new n(e,-1,null,!0)),u[-1].render(-1))),m&&c.forEach((function(n,o){i=void 0!==c[o+1]?c[o+1]+x:e.max-x,o%2==0&&n<e.max&&i<=e.max+(s.polar?-x:x)&&(p[n]||(p[n]=new r.PlotLineOrBand(e,{})),t=n+x,p[n].options={from:h?h.lin2log(t):t,to:h?h.lin2log(i):i,color:m,className:"highcharts-alternate-grid"},p[n].render(),p[n].isActive=!0)})),e._addedPlotLB||(e._addedPlotLB=!0,(o.plotLines||[]).concat(o.plotBands||[]).forEach((function(t){e.addPlotBandOrLine(t)})))}[u,f,p].forEach((function(t){let i=[],e=M.duration;P(t,(function(t,e){t.isActive||(t.render(e,!1,0),t.isActive=!1,i.push(e))})),I((function(){let e=i.length;for(;e--;)t[i[e]]&&!t[i[e]].isActive&&(t[i[e]].destroy(),delete t[i[e]])}),t!==p&&s.hasRendered&&e?e:0)})),v&&(v[v.isPlaced?"animate":"attr"]({d:this.getLinePath(v.strokeWidth())}),v.isPlaced=!0,v[y?"show":"hide"](y)),d&&y&&(d[d.isNew?"attr":"animate"](e.getTitlePosition(d)),d.isNew=!1),g&&g.enabled&&e.stacking&&e.stacking.renderStackTotals(),e.old={len:e.len,max:e.max,min:e.min,transA:e.transA,userMax:e.userMax,userMin:e.userMin},e.isDirty=!1,k(this,"afterRender")}redraw(){this.visible&&(this.render(),this.plotLinesAndBands.forEach((function(t){t.render()}))),this.series.forEach((function(t){t.isDirty=!0}))}getKeepProps(){return this.keepProps||R.keepProps}destroy(t){let i=this,e=i.plotLinesAndBands,s=this.eventOptions;if(k(this,"destroy",{keepEvents:t}),t||D(i),[i.ticks,i.minorTicks,i.alternateBands].forEach((function(t){v(t)})),e){let t=e.length;for(;t--;)e[t].destroy()}for(let t in["axisLine","axisTitle","axisGroup","gridGroup","labelGroup","cross","scrollbar"].forEach((function(t){i[t]&&(i[t]=i[t].destroy())})),i.plotLinesAndBandsGroups)i.plotLinesAndBandsGroups[t]=i.plotLinesAndBandsGroups[t].destroy();P(i,(function(t,e){-1===i.getKeepProps().indexOf(e)&&delete i[e]})),this.eventOptions=s}drawCrosshair(t,i){let s,h,r,n,o=this.crosshair,a=E(o&&o.snap,!0),l=this.chart,c=this.cross;if(k(this,"drawCrosshair",{e:t,point:i}),t||(t=this.cross&&this.cross.e),o&&!1!==(x(i)||!a)){if(a?x(i)&&(h=E("colorAxis"!==this.coll?i.crosshairPos:null,this.isXAxis?i.plotX:this.len-i.plotY)):h=t&&(this.horiz?t.chartX-this.pos:this.len-t.chartY+this.pos),x(h)&&(n={value:i&&(this.isXAxis?i.x:E(i.stackY,i.y)),translatedValue:h},l.polar&&w(n,{isCrosshair:!0,chartX:t&&t.chartX,chartY:t&&t.chartY,point:i}),s=this.getPlotLinePath(n)||null),!x(s))return void this.hideCrosshair();r=this.categories&&!this.isRadial,c||(this.cross=c=l.renderer.path().addClass("highcharts-crosshair highcharts-crosshair-"+(r?"category ":"thin ")+(o.className||"")).attr({zIndex:E(o.zIndex,2)}).add(),!l.styledMode&&(c.attr({stroke:o.color||(r?e.parse("#ccd3ff").setOpacity(.25).get():"#cccccc"),"stroke-width":E(o.width,1)}).css({"pointer-events":"none"}),o.dashStyle&&c.attr({dashstyle:o.dashStyle}))),c.show().attr({d:s}),r&&!o.width&&c.attr({"stroke-width":this.transA}),this.cross.e=t}else this.hideCrosshair();k(this,"afterDrawCrosshair",{e:t,point:i})}hideCrosshair(){this.cross&&this.cross.hide(),k(this,"afterHideCrosshair")}update(t,i){let e=this.chart;t=j(this.userOptions,t),this.destroy(!0),this.init(e,t),e.isDirtyBox=!0,E(i,!0)&&e.redraw()}remove(t){let i=this.chart,e=this.coll,s=this.series,h=s.length;for(;h--;)s[h]&&s[h].remove(!1);y(i.axes,this),y(i[e]||[],this),i.orderItems(e),this.destroy(),i.isDirtyBox=!0,E(t,!0)&&i.redraw()}setTitle(t,i){this.update({title:t},i)}setCategories(t,i){this.update({categories:t},i)}}return R.keepProps=["coll","extKey","hcEvents","len","names","series","userMax","userMin"],R})),e(i,"Core/Axis/DateTimeAxis.js",[i["Core/Utilities.js"]],(function(t){var i;let{addEvent:e,getMagnitude:s,normalizeTickInterval:h,timeUnits:r}=t;return function(t){function i(){return this.chart.time.getTimeTicks.apply(this.chart.time,arguments)}function n(){"datetime"===this.type?this.dateTime||(this.dateTime=new o(this)):this.dateTime=void 0}t.compose=function(t){return t.keepProps.includes("dateTime")||(t.keepProps.push("dateTime"),t.prototype.getTimeTicks=i,e(t,"afterSetType",n)),t};class o{constructor(t){this.axis=t}normalizeTimeTickInterval(t,i){let e,n=i||[["millisecond",[1,2,5,10,20,25,50,100,200,500]],["second",[1,2,5,10,15,30]],["minute",[1,2,5,10,15,30]],["hour",[1,2,3,4,6,8,12]],["day",[1,2]],["week",[1,2]],["month",[1,2,3,4,6]],["year",null]],o=n[n.length-1],a=r[o[0]],l=o[1];for(e=0;e<n.length&&(a=r[(o=n[e])[0]],l=o[1],!(n[e+1]&&t<=(a*l[l.length-1]+r[n[e+1][0]])/2));e++);return a===r.year&&t<5*a&&(l=[1,2,5]),{unitRange:a,count:h(t/a,l,"year"===o[0]?Math.max(s(t/a),1):1),unitName:o[0]}}getXDateFormat(t,i){let{axis:e}=this,s=e.chart.time;return e.closestPointRange?s.getDateFormat(e.closestPointRange,t,e.options.startOfWeek,i)||s.resolveDTLFormat(i.year).main:s.resolveDTLFormat(i.day).main}}t.Additions=o}(i||(i={})),i})),e(i,"Core/Axis/LogarithmicAxis.js",[i["Core/Utilities.js"]],(function(t){var i;let{addEvent:e,normalizeTickInterval:s,pick:h}=t;return function(t){function i(){"logarithmic"!==this.type?this.logarithmic=void 0:this.logarithmic??(this.logarithmic=new n(this))}function r(){let t=this.logarithmic;t&&(this.lin2val=function(i){return t.lin2log(i)},this.val2lin=function(i){return t.log2lin(i)})}t.compose=function(t){return t.keepProps.includes("logarithmic")||(t.keepProps.push("logarithmic"),e(t,"afterSetType",i),e(t,"afterInit",r)),t};class n{constructor(t){this.axis=t}getLogTickPositions(t,i,e,r){let n=this.axis,o=n.len,a=n.options,l=[];if(r||(this.minorAutoInterval=void 0),t>=.5)t=Math.round(t),l=n.getLinearTickPositions(t,i,e);else if(t>=.08){let s,h,n,o,a,c,d;for(s=t>.3?[1,2,4]:t>.15?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9],h=Math.floor(i);h<e+1&&!d;h++)for(n=0,o=s.length;n<o&&!d;n++)(a=this.log2lin(this.lin2log(h)*s[n]))>i&&(!r||c<=e)&&void 0!==c&&l.push(c),c>e&&(d=!0),c=a}else{let c=this.lin2log(i),d=this.lin2log(e),u=r?n.getMinorTickInterval():a.tickInterval;t=s(t=h("auto"===u?null:u,this.minorAutoInterval,a.tickPixelInterval/(r?5:1)*(d-c)/((r?o/n.tickPositions.length:o)||1))),l=n.getLinearTickPositions(t,c,d).map(this.log2lin),r||(this.minorAutoInterval=t/5)}return r||(n.tickInterval=t),l}lin2log(t){return Math.pow(10,t)}log2lin(t){return Math.log(t)/Math.LN10}}t.Additions=n}(i||(i={})),i})),e(i,"Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js",[i["Core/Utilities.js"]],(function(t){var i;let{erase:e,extend:s,isNumber:h}=t;return function(t){let i;function r(t){return this.addPlotBandOrLine(t,"plotBands")}function n(t,e){let s=this.userOptions,h=new i(this,t);if(this.visible&&(h=h.render()),h){if(this._addedPlotLB||(this._addedPlotLB=!0,(s.plotLines||[]).concat(s.plotBands||[]).forEach((t=>{this.addPlotBandOrLine(t)}))),e){let i=s[e]||[];i.push(t),s[e]=i}this.plotLinesAndBands.push(h)}return h}function o(t){return this.addPlotBandOrLine(t,"plotLines")}function a(t,i,e){let s,r,n=this.getPlotLinePath({value:i,force:!0,acrossPanes:(e=e||this.options).acrossPanes}),o=[],a=this.horiz,l=!h(this.min)||!h(this.max)||t<this.min&&i<this.min||t>this.max&&i>this.max,c=this.getPlotLinePath({value:t,force:!0,acrossPanes:e.acrossPanes}),d=1;if(c&&n)for(l&&(r=c.toString()===n.toString(),d=0),s=0;s<c.length;s+=2){let t=c[s],i=c[s+1],e=n[s],h=n[s+1];("M"===t[0]||"L"===t[0])&&("M"===i[0]||"L"===i[0])&&("M"===e[0]||"L"===e[0])&&("M"===h[0]||"L"===h[0])&&(a&&e[1]===t[1]?(e[1]+=d,h[1]+=d):a||e[2]!==t[2]||(e[2]+=d,h[2]+=d),o.push(["M",t[1],t[2]],["L",i[1],i[2]],["L",h[1],h[2]],["L",e[1],e[2]],["Z"])),o.isFlat=r}return o}function l(t){this.removePlotBandOrLine(t)}function c(t){let i=this.plotLinesAndBands,s=this.options,h=this.userOptions;if(i){let r=i.length;for(;r--;)i[r].id===t&&i[r].destroy();[s.plotLines||[],h.plotLines||[],s.plotBands||[],h.plotBands||[]].forEach((function(i){for(r=i.length;r--;)(i[r]||{}).id===t&&e(i,i[r])}))}}function d(t){this.removePlotBandOrLine(t)}t.compose=function(t,e){let h=e.prototype;return h.addPlotBand||(i=t,s(h,{addPlotBand:r,addPlotLine:o,addPlotBandOrLine:n,getPlotBandPath:a,removePlotBand:l,removePlotLine:d,removePlotBandOrLine:c})),e}}(i||(i={})),i})),e(i,"Core/Axis/PlotLineOrBand/PlotLineOrBand.js",[i["Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js"],i["Core/Utilities.js"]],(function(t,i){let{addEvent:e,arrayMax:s,arrayMin:h,defined:r,destroyObjectProperties:n,erase:o,fireEvent:a,merge:l,objectEach:c,pick:d}=i;class u{static compose(i,s){return e(i,"afterInit",(function(){this.labelCollectors.push((()=>{let t=[];for(let i of this.axes)for(let{label:e,options:s}of i.plotLinesAndBands)e&&!s?.label?.allowOverlap&&t.push(e);return t}))})),t.compose(u,s)}constructor(t,i){this.axis=t,this.options=i,this.id=i.id}render(){a(this,"render");let t,{axis:i,options:e}=this,{horiz:s,logarithmic:h}=i,{color:n,events:o,zIndex:u=0}=e,f={},p=i.chart.renderer,g=e.to,m=e.from,b=e.value,x=e.borderWidth,v=e.label,{label:y,svgElem:M}=this,w=[],k=r(m)&&r(g),S=r(b),O=!M,A={class:"highcharts-plot-"+(k?"band ":"line ")+(e.className||"")},L=k?"bands":"lines";if(!i.chart.styledMode&&(S?(A.stroke=n||"#999999",A["stroke-width"]=d(e.width,1),e.dashStyle&&(A.dashstyle=e.dashStyle)):k&&(A.fill=n||"#e6e9ff",x&&(A.stroke=e.borderColor,A["stroke-width"]=x))),f.zIndex=u,L+="-"+u,(t=i.plotLinesAndBandsGroups[L])||(i.plotLinesAndBandsGroups[L]=t=p.g("plot-"+L).attr(f).add()),M||(this.svgElem=M=p.path().attr(A).add(t)),r(b))w=i.getPlotLinePath({value:h?.log2lin(b)??b,lineWidth:M.strokeWidth(),acrossPanes:e.acrossPanes});else{if(!r(m)||!r(g))return;w=i.getPlotBandPath(h?.log2lin(m)??m,h?.log2lin(g)??g,e)}return!this.eventsAdded&&o&&(c(o,((t,i)=>{M?.on(i,(t=>{o[i].apply(this,[t])}))})),this.eventsAdded=!0),!O&&M.d||!w?.length?M&&(w?(M.show(),M.animate({d:w})):M.d&&(M.hide(),y&&(this.label=y=y.destroy()))):M.attr({d:w}),v&&(r(v.text)||r(v.formatter))&&w?.length&&i.width>0&&i.height>0&&!w.isFlat?(v=l({align:s&&k?"center":void 0,x:s?!k&&4:10,verticalAlign:!s&&k?"middle":void 0,y:s?k?16:10:k?6:-4,rotation:s&&!k?90:0,...k?{inside:!0}:{}},v),this.renderLabel(v,w,k,u)):y&&y.hide(),this}renderLabel(t,i,e,n){let o=this.axis,a=t.inside,c=this.label;c||(this.label=c=o.chart.renderer.text(this.getLabelText(t),0,0,t.useHTML).attr({align:t.textAlign||t.align,rotation:t.rotation,class:"highcharts-plot-"+(e?"band":"line")+"-label "+(t.className||""),zIndex:n}),o.chart.styledMode||c.css(l({fontSize:"0.8em",textOverflow:e&&!a?"":"ellipsis"},t.style)),c.add());let d=i.xBounds||[i[0][1],i[1][1],e?i[2][1]:i[0][1]],u=i.yBounds||[i[0][2],i[1][2],e?i[2][2]:i[0][2]],f=h(d),p=h(u),g=s(d)-f;c.align(t,!1,{x:f,y:p,width:g,height:s(u)-p}),(!c.alignValue||"left"===c.alignValue||r(a))&&c.css({width:(t.style?.width||(e&&a?g:90===c.rotation?o.height-(c.alignAttr.y-o.top):(t.clip?o.width:o.chart.chartWidth)-(c.alignAttr.x-o.left)))+"px"}),c.show(!0)}getLabelText(t){return r(t.formatter)?t.formatter.call(this):t.text}destroy(){o(this.axis.plotLinesAndBands,this),delete this.axis,n(this)}}return u})),e(i,"Core/Tooltip.js",[i["Core/Animation/AnimationUtilities.js"],i["Core/Templating.js"],i["Core/Globals.js"],i["Core/Renderer/RendererUtilities.js"],i["Core/Renderer/RendererRegistry.js"],i["Core/Utilities.js"]],(function(t,i,e,s,h,r){var n;let{animObject:o}=t,{format:a}=i,{composed:l,doc:c,isSafari:d}=e,{distribute:u}=s,{addEvent:f,clamp:p,css:g,discardElement:m,extend:b,fireEvent:x,isArray:v,isNumber:y,isString:M,merge:w,pick:k,pushUnique:S,splat:O,syncTimeout:A}=r;class L{constructor(t,i,e){this.allowShared=!0,this.crosshairs=[],this.distance=0,this.isHidden=!0,this.isSticky=!1,this.options={},this.outside=!1,this.chart=t,this.init(t,i),this.pointer=e}bodyFormatter(t){return t.map((function(t){let i=t.series.tooltipOptions;return(i[(t.point.formatPrefix||"point")+"Formatter"]||t.point.tooltipFormatter).call(t.point,i[(t.point.formatPrefix||"point")+"Format"]||"")}))}cleanSplit(t){this.chart.series.forEach((function(i){let e=i&&i.tt;e&&(!e.isActive||t?i.tt=e.destroy():e.isActive=!1)}))}defaultFormatter(t){let i,e=this.points||O(this);return(i=(i=[t.tooltipFooterHeaderFormatter(e[0])]).concat(t.bodyFormatter(e))).push(t.tooltipFooterHeaderFormatter(e[0],!0)),i}destroy(){this.label&&(this.label=this.label.destroy()),this.split&&(this.cleanSplit(!0),this.tt&&(this.tt=this.tt.destroy())),this.renderer&&(this.renderer=this.renderer.destroy(),m(this.container)),r.clearTimeout(this.hideTimer)}getAnchor(t,i){let e,{chart:s,pointer:h}=this,r=s.inverted,n=s.plotTop,o=s.plotLeft;if((t=O(t))[0].series&&t[0].series.yAxis&&!t[0].series.yAxis.options.reversedStacks&&(t=t.slice().reverse()),this.followPointer&&i)void 0===i.chartX&&(i=h.normalize(i)),e=[i.chartX-o,i.chartY-n];else if(t[0].tooltipPos)e=t[0].tooltipPos;else{let s=0,h=0;t.forEach((function(t){let i=t.pos(!0);i&&(s+=i[0],h+=i[1])})),s/=t.length,h/=t.length,this.shared&&t.length>1&&i&&(r?s=i.chartX:h=i.chartY),e=[s-o,h-n]}return e.map(Math.round)}getClassName(t,i,e){let s=t.series,h=s.options;return[this.options.className,"highcharts-label",e&&"highcharts-tooltip-header",i?"highcharts-tooltip-box":"highcharts-tooltip",!e&&"highcharts-color-"+k(t.colorIndex,s.colorIndex),h&&h.className].filter(M).join(" ")}getLabel({anchorX:t,anchorY:i}={anchorX:0,anchorY:0}){let s=this,r=this.chart.styledMode,n=this.options,o=this.split&&this.allowShared,a=this.container,l=this.chart.renderer;if(this.label){let t=!this.label.hasClass("highcharts-label");(!o&&t||o&&!t)&&this.destroy()}if(!this.label){if(this.outside){let t=this.chart.options.chart.style,i=h.getRendererType();this.container=a=e.doc.createElement("div"),a.className="highcharts-tooltip-container",g(a,{position:"absolute",top:"1px",pointerEvents:"none",zIndex:Math.max(this.options.style.zIndex||0,(t&&t.zIndex||0)+3)}),this.renderer=l=new i(a,0,0,t,void 0,void 0,l.styledMode)}if(o?this.label=l.g("tooltip"):(this.label=l.label("",t,i,n.shape,void 0,void 0,n.useHTML,void 0,"tooltip").attr({padding:n.padding,r:n.borderRadius}),r||this.label.attr({fill:n.backgroundColor,"stroke-width":n.borderWidth||0}).css(n.style).css({pointerEvents:n.style.pointerEvents||(this.shouldStickOnContact()?"auto":"none")})),s.outside){let t=this.label;[t.xSetter,t.ySetter].forEach(((i,e)=>{t[e?"ySetter":"xSetter"]=h=>{i.call(t,s.distance),t[e?"y":"x"]=h,a&&(a.style[e?"top":"left"]=`${h}px`)}}))}this.label.attr({zIndex:8}).shadow(n.shadow).add()}return a&&!a.parentElement&&e.doc.body.appendChild(a),this.label}getPlayingField(){let{body:t,documentElement:i}=c,{chart:e,distance:s,outside:h}=this;return{width:h?Math.max(t.scrollWidth,i.scrollWidth,t.offsetWidth,i.offsetWidth,i.clientWidth)-2*s:e.chartWidth,height:h?Math.max(t.scrollHeight,i.scrollHeight,t.offsetHeight,i.offsetHeight,i.clientHeight):e.chartHeight}}getPosition(t,i,e){let s,{distance:h,chart:r,outside:n,pointer:o}=this,{inverted:a,plotLeft:l,plotTop:c,polar:d}=r,{plotX:u=0,plotY:f=0}=e,p={},g=a&&e.h||0,{height:m,width:b}=this.getPlayingField(),x=o.getChartPosition(),v=t=>t*x.scaleX,y=t=>t*x.scaleY,M=e=>{let s="x"===e;return[e,s?b:m,s?t:i].concat(n?[s?v(t):y(i),s?x.left-h+v(u+l):x.top-h+y(f+c),0,s?b:m]:[s?t:i,s?u+l:f+c,s?l:c,s?l+r.plotWidth:c+r.plotHeight])},w=M("y"),S=M("x"),O=!!e.negative;!d&&r.hoverSeries?.yAxis?.reversed&&(O=!O);let A=!this.followPointer&&k(e.ttBelow,!d&&!a===O),L=function(t,i,e,s,r,o,a){let l=n?"y"===t?y(h):v(h):h,c=(e-s)/2,d=s<r-h,u=r+h+s<i,f=r-l-e+c,m=r+l-c;if(A&&u)p[t]=m;else if(!A&&d)p[t]=f;else if(d)p[t]=Math.min(a-s,f-g<0?f:f-g);else{if(!u)return!1;p[t]=Math.max(o,m+g+e>i?m:m+g)}},C=function(t,i,e,s,r){if(r<h||r>i-h)return!1;p[t]=r<e/2?1:r>i-s/2?i-s-2:r-e/2},j=function(t){[w,S]=[S,w],s=t},T=()=>{!1!==L.apply(0,w)?!1!==C.apply(0,S)||s||(j(!0),T()):s?p.x=p.y=0:(j(!0),T())};return(a&&!d||this.len>1)&&j(),T(),p}hide(t){let i=this;r.clearTimeout(this.hideTimer),t=k(t,this.options.hideDelay),this.isHidden||(this.hideTimer=A((function(){let e=i.getLabel();i.getLabel().animate({opacity:0},{duration:t?150:t,complete:()=>{e.hide(),i.container&&i.container.remove()}}),i.isHidden=!0}),t))}init(t,i){this.chart=t,this.options=i,this.crosshairs=[],this.isHidden=!0,this.split=i.split&&!t.inverted&&!t.polar,this.shared=i.shared||this.split,this.outside=k(i.outside,!(!t.scrollablePixelsX&&!t.scrollablePixelsY))}shouldStickOnContact(t){return!(this.followPointer||!this.options.stickOnContact||t&&!this.pointer.inClass(t.target,"highcharts-tooltip"))}move(t,i,e,s){let h=this,r=o(!h.isHidden&&h.options.animation),n={x:t,y:i};h.followPointer||(h.len||0)>1||(n.anchorX=e,n.anchorY=s),r.step=()=>h.drawTracker(),h.getLabel().animate(n,r)}refresh(t,i){let{chart:e,options:s,pointer:h,shared:n}=this,o=O(t),l=o[0],c=[],d=s.format,u=s.formatter||this.defaultFormatter,f=e.styledMode,g={},m=this.allowShared;if(!s.enabled||!l.series)return;r.clearTimeout(this.hideTimer),this.allowShared=!(!v(t)&&t.series&&t.series.noSharedTooltip),m=m&&!this.allowShared,this.followPointer=!this.split&&l.series.tooltipOptions.followPointer;let b=this.getAnchor(t,i),y=b[0],w=b[1];n&&this.allowShared?(h.applyInactiveState(o),o.forEach((function(t){t.setState("hover"),c.push(t.getLabelConfig())})),(g=l.getLabelConfig()).points=c):g=l.getLabelConfig(),this.len=c.length;let S=M(d)?a(d,g,e):u.call(g,this),A=l.series;if(this.distance=k(A.tooltipOptions.distance,16),!1===S)this.hide();else{if(this.split&&this.allowShared)this.renderSplit(S,o);else{let t=y,r=w;if(i&&h.isDirectTouch&&(t=i.chartX-e.plotLeft,r=i.chartY-e.plotTop),!e.polar&&!1!==A.options.clip&&!o.some((i=>h.isDirectTouch||i.series.shouldShowTooltip(t,r))))return void this.hide();{let t=this.getLabel(m&&this.tt||{});(!s.style.width||f)&&t.css({width:(this.outside?this.getPlayingField():e.spacingBox).width+"px"}),t.attr({class:this.getClassName(l),text:S&&S.join?S.join(""):S}),this.outside&&t.attr({x:p(t.x||0,0,this.getPlayingField().width-(t.width||0))}),f||t.attr({stroke:s.borderColor||l.color||A.color||"#666666"}),this.updatePosition({plotX:y,plotY:w,negative:l.negative,ttBelow:l.ttBelow,h:b[2]||0})}}this.isHidden&&this.label&&this.label.attr({opacity:1}).show(),this.isHidden=!1}x(this,"refresh")}renderSplit(t,i){let e=this,{chart:s,chart:{chartWidth:h,chartHeight:r,plotHeight:n,plotLeft:o,plotTop:a,scrollablePixelsY:l=0,scrollablePixelsX:f,styledMode:g},distance:m,options:x,options:{positioner:v},pointer:y}=e,{scrollLeft:w=0,scrollTop:S=0}=s.scrollablePlotArea?.scrollingContainer||{},O=e.outside&&"number"!=typeof f?c.documentElement.getBoundingClientRect():{left:w,right:w+h,top:S,bottom:S+r},A=e.getLabel(),L=this.renderer||s.renderer,C=!(!s.xAxis[0]||!s.xAxis[0].opposite),{left:j,top:T}=y.getChartPosition(),P=a+S,E=0,z=n-l;function D(t,i,s,h,r=!0){let n,o;return s?(n=C?0:z,o=p(t-h/2,O.left,O.right-h-(e.outside?j:0))):(n=i-P,o=p(o=r?t-h-m:t+m,r?o:O.left,O.right)),{x:o,y:n}}M(t)&&(t=[!1,t]);let N=t.slice(0,i.length+1).reduce((function(t,s,h){if(!1!==s&&""!==s){let r=i[h-1]||{isHeader:!0,plotX:i[0].plotX,plotY:n,series:{}},l=r.isHeader,c=l?e:r.series,d=c.tt=function(t,i,s){let h=t,{isHeader:r,series:n}=i;if(!h){let t={padding:x.padding,r:x.borderRadius};g||(t.fill=x.backgroundColor,t["stroke-width"]=x.borderWidth??1),h=L.label("",0,0,x[r?"headerShape":"shape"],void 0,void 0,x.useHTML).addClass(e.getClassName(i,!0,r)).attr(t).add(A)}return h.isActive=!0,h.attr({text:s}),g||h.css(x.style).attr({stroke:x.borderColor||i.color||n.color||"#333333"}),h}(c.tt,r,s.toString()),u=d.getBBox(),f=u.width+d.strokeWidth();l&&(E=u.height,z+=E,C&&(P-=E));let{anchorX:b,anchorY:y}=function(t){let i,e,{isHeader:s,plotX:h=0,plotY:r=0,series:l}=t;if(s)i=Math.max(o+h,o),e=a+n/2;else{let{xAxis:t,yAxis:s}=l;i=t.pos+p(h,-m,t.len+m),l.shouldShowTooltip(0,s.pos-a+r,{ignoreX:!0})&&(e=s.pos+r)}return{anchorX:i=p(i,O.left-m,O.right+m),anchorY:e}}(r);if("number"==typeof y){let i=u.height+1,s=v?v.call(e,f,i,r):D(b,y,l,f);t.push({align:v?0:void 0,anchorX:b,anchorY:y,boxWidth:f,point:r,rank:k(s.rank,l?1:0),size:i,target:s.y,tt:d,x:s.x})}else d.isActive=!1}return t}),[]);!v&&N.some((t=>{let{outside:i}=e,s=(i?j:0)+t.anchorX;return s<O.left&&s+t.boxWidth<O.right||s<j-O.left+t.boxWidth&&O.right-s>s}))&&(N=N.map((t=>{let{x:i,y:e}=D(t.anchorX,t.anchorY,t.point.isHeader,t.boxWidth,!1);return b(t,{target:e,x:i})}))),e.cleanSplit(),u(N,z);let I={left:j,right:j};N.forEach((function(t){let{x:i,boxWidth:s,isHeader:h}=t;!h&&(e.outside&&j+i<I.left&&(I.left=j+i),!h&&e.outside&&I.left+s>I.right&&(I.right=j+i))})),N.forEach((function(t){let{x:i,anchorX:s,anchorY:h,pos:r,point:{isHeader:n}}=t,o={visibility:void 0===r?"hidden":"inherit",x:i,y:(r||0)+P,anchorX:s,anchorY:h};if(e.outside&&i<s){let t=j-I.left;t>0&&(n||(o.x=i+t,o.anchorX=s+t),n&&(o.x=(I.right-I.left)/2,o.anchorX=s+t))}t.tt.attr(o)}));let{container:F,outside:R,renderer:B}=e;if(R&&F&&B){let{width:t,height:i,x:e,y:s}=A.getBBox();B.setSize(t+e,i+s,!1),F.style.left=I.left+"px",F.style.top=T+"px"}d&&A.attr({opacity:1===A.opacity?.999:1})}drawTracker(){if(!this.shouldStickOnContact())return void(this.tracker&&(this.tracker=this.tracker.destroy()));let t=this.chart,i=this.label,e=this.shared?t.hoverPoints:t.hoverPoint;if(!i||!e)return;let s={x:0,y:0,width:0,height:0},h=this.getAnchor(e),r=i.getBBox();h[0]+=t.plotLeft-(i.translateX||0),h[1]+=t.plotTop-(i.translateY||0),s.x=Math.min(0,h[0]),s.y=Math.min(0,h[1]),s.width=h[0]<0?Math.max(Math.abs(h[0]),r.width-h[0]):Math.max(Math.abs(h[0]),r.width),s.height=h[1]<0?Math.max(Math.abs(h[1]),r.height-Math.abs(h[1])):Math.max(Math.abs(h[1]),r.height),this.tracker?this.tracker.attr(s):(this.tracker=i.renderer.rect(s).addClass("highcharts-tracker").add(i),t.styledMode||this.tracker.attr({fill:"rgba(0,0,0,0)"}))}styledModeFormat(t){return t.replace('style="font-size: 0.8em"','class="highcharts-header"').replace(/style="color:{(point|series)\.color}"/g,'class="highcharts-color-{$1.colorIndex} {series.options.className} {point.options.className}"')}tooltipFooterHeaderFormatter(t,i){let e=t.series,s=e.tooltipOptions,h=e.xAxis,r=h&&h.dateTime,n={isFooter:i,labelConfig:t},o=s.xDateFormat,l=s[i?"footerFormat":"headerFormat"];return x(this,"headerFormatter",n,(function(i){r&&!o&&y(t.key)&&(o=r.getXDateFormat(t.key,s.dateTimeLabelFormats)),r&&o&&(t.point&&t.point.tooltipDateKeys||["key"]).forEach((function(t){l=l.replace("{point."+t+"}","{point."+t+":"+o+"}")})),e.chart.styledMode&&(l=this.styledModeFormat(l)),i.text=a(l,{point:t,series:e},this.chart)})),n.text}update(t){this.destroy(),this.init(this.chart,w(!0,this.options,t))}updatePosition(t){let i,{chart:e,container:s,distance:h,options:r,pointer:n,renderer:o}=this,{height:a=0,width:l=0}=this.getLabel(),{left:c,top:d,scaleX:u,scaleY:f}=n.getChartPosition(),p=(r.positioner||this.getPosition).call(this,l,a,t),m=(t.plotX||0)+e.plotLeft,b=(t.plotY||0)+e.plotTop;o&&s&&(r.positioner&&(p.x+=c-h,p.y+=d-h),i=(r.borderWidth||0)+2*h+2,o.setSize(l+i,a+i,!1),(1!==u||1!==f)&&(g(s,{transform:`scale(${u}, ${f})`}),m*=u,b*=f),m+=c-p.x,b+=d-p.y),this.move(Math.round(p.x),Math.round(p.y||0),m,b)}}return(n=L||(L={})).compose=function(t){S(l,"Core.Tooltip")&&f(t,"afterInit",(function(){let t=this.chart;t.options.tooltip&&(t.tooltip=new n(t,t.options.tooltip,this))}))},L})),e(i,"Core/Series/Point.js",[i["Core/Renderer/HTML/AST.js"],i["Core/Animation/AnimationUtilities.js"],i["Core/Defaults.js"],i["Core/Templating.js"],i["Core/Utilities.js"]],(function(t,i,e,s,h){let{animObject:r}=i,{defaultOptions:n}=e,{format:o}=s,{addEvent:a,crisp:l,erase:c,extend:d,fireEvent:u,getNestedProperty:f,isArray:p,isFunction:g,isNumber:m,isObject:b,merge:x,pick:v,syncTimeout:y,removeEvent:M,uniqueKey:w}=h;class k{animateBeforeDestroy(){let t=this,i={x:t.startXPos,opacity:0},e=t.getGraphicalProps();e.singular.forEach((function(e){t[e]=t[e].animate("dataLabel"===e?{x:t[e].startXPos,y:t[e].startYPos,opacity:0}:i)})),e.plural.forEach((function(i){t[i].forEach((function(i){i.element&&i.animate(d({x:t.startXPos},i.startYPos?{x:i.startXPos,y:i.startYPos}:{}))}))}))}applyOptions(t,i){let e=this.series,s=e.options.pointValKey||e.pointValKey;return d(this,t=k.prototype.optionsToObject.call(this,t)),this.options=this.options?d(this.options,t):t,t.group&&delete this.group,t.dataLabels&&delete this.dataLabels,s&&(this.y=k.prototype.getNestedProperty.call(this,s)),this.selected&&(this.state="select"),"name"in this&&void 0===i&&e.xAxis&&e.xAxis.hasNames&&(this.x=e.xAxis.nameToX(this)),void 0===this.x&&e?this.x=i??e.autoIncrement():m(t.x)&&e.options.relativeXValue&&(this.x=e.autoIncrement(t.x)),this.isNull=this.isValid&&!this.isValid(),this.formatPrefix=this.isNull?"null":"point",this}destroy(){if(!this.destroyed){let t=this,i=t.series,e=i.chart,s=i.options.dataSorting,h=e.hoverPoints,n=r(t.series.chart.renderer.globalAnimation),o=()=>{for(let i in(t.graphic||t.graphics||t.dataLabel||t.dataLabels)&&(M(t),t.destroyElements()),t)delete t[i]};t.legendItem&&e.legend.destroyItem(t),h&&(t.setState(),c(h,t),h.length||(e.hoverPoints=null)),t===e.hoverPoint&&t.onMouseOut(),s&&s.enabled?(this.animateBeforeDestroy(),y(o,n.duration)):o(),e.pointCount--}this.destroyed=!0}destroyElements(t){let i=this,e=i.getGraphicalProps(t);e.singular.forEach((function(t){i[t]=i[t].destroy()})),e.plural.forEach((function(t){i[t].forEach((function(t){t&&t.element&&t.destroy()})),delete i[t]}))}firePointEvent(t,i,e){let s=this,h=this.series.options;s.manageEvent(t),"click"===t&&h.allowPointSelect&&(e=function(t){!s.destroyed&&s.select&&s.select(null,t.ctrlKey||t.metaKey||t.shiftKey)}),u(s,t,i,e)}getClassName(){return"highcharts-point"+(this.selected?" highcharts-point-select":"")+(this.negative?" highcharts-negative":"")+(this.isNull?" highcharts-null-point":"")+(void 0!==this.colorIndex?" highcharts-color-"+this.colorIndex:"")+(this.options.className?" "+this.options.className:"")+(this.zone&&this.zone.className?" "+this.zone.className.replace("highcharts-negative",""):"")}getGraphicalProps(t){let i,e,s=this,h=[],r={singular:[],plural:[]};for((t=t||{graphic:1,dataLabel:1}).graphic&&h.push("graphic","connector"),t.dataLabel&&h.push("dataLabel","dataLabelPath","dataLabelUpper"),e=h.length;e--;)s[i=h[e]]&&r.singular.push(i);return["graphic","dataLabel"].forEach((function(i){let e=i+"s";t[i]&&s[e]&&r.plural.push(e)})),r}getLabelConfig(){return{x:this.category,y:this.y,color:this.color,colorIndex:this.colorIndex,key:this.name||this.category,series:this.series,point:this,percentage:this.percentage,total:this.total||this.stackTotal}}getNestedProperty(t){return t?0===t.indexOf("custom.")?f(t,this.options):this[t]:void 0}getZone(){let t,i=this.series,e=i.zones,s=i.zoneAxis||"y",h=0;for(t=e[0];this[s]>=t.value;)t=e[++h];return this.nonZonedColor||(this.nonZonedColor=this.color),this.color=t&&t.color&&!this.options.color?t.color:this.nonZonedColor,t}hasNewShapeType(){return(this.graphic&&(this.graphic.symbolName||this.graphic.element.nodeName))!==this.shapeType}constructor(t,i,e){this.formatPrefix="point",this.visible=!0,this.series=t,this.applyOptions(i,e),this.id??(this.id=w()),this.resolveColor(),t.chart.pointCount++,u(this,"afterInit")}isValid(){return(m(this.x)||this.x instanceof Date)&&m(this.y)}optionsToObject(t){let i,e=this.series,s=e.options.keys,h=s||e.pointArrayMap||["y"],r=h.length,n={},o=0,a=0;if(m(t)||null===t)n[h[0]]=t;else if(p(t))for(!s&&t.length>r&&("string"==(i=typeof t[0])?n.name=t[0]:"number"===i&&(n.x=t[0]),o++);a<r;)s&&void 0===t[o]||(h[a].indexOf(".")>0?k.prototype.setNestedProperty(n,t[o],h[a]):n[h[a]]=t[o]),o++,a++;else"object"==typeof t&&(n=t,t.dataLabels&&(e.hasDataLabels=()=>!0),t.marker&&(e._hasPointMarkers=!0));return n}pos(t,i=this.plotY){if(!this.destroyed){let{plotX:e,series:s}=this,{chart:h,xAxis:r,yAxis:n}=s,o=0,a=0;if(m(e)&&m(i))return t&&(o=r?r.pos:h.plotLeft,a=n?n.pos:h.plotTop),h.inverted&&r&&n?[n.len-i+a,r.len-e+o]:[e+o,i+a]}}resolveColor(){let t,i,e,s=this.series,h=s.chart.styledMode,r=s.chart.options.chart.colorCount;delete this.nonZonedColor,s.options.colorByPoint?(h||(t=(i=s.options.colors||s.chart.options.colors)[s.colorCounter],r=i.length),e=s.colorCounter,s.colorCounter++,s.colorCounter===r&&(s.colorCounter=0)):(h||(t=s.color),e=s.colorIndex),this.colorIndex=v(this.options.colorIndex,e),this.color=v(this.options.color,t)}setNestedProperty(t,i,e){return e.split(".").reduce((function(t,e,s,h){return t[e]=h.length-1===s?i:b(t[e],!0)?t[e]:{},t[e]}),t),t}shouldDraw(){return!this.isNull}tooltipFormatter(t){let i=this.series,e=i.tooltipOptions,s=v(e.valueDecimals,""),h=e.valuePrefix||"",r=e.valueSuffix||"";return i.chart.styledMode&&(t=i.chart.tooltip.styledModeFormat(t)),(i.pointArrayMap||["y"]).forEach((function(i){i="{point."+i,(h||r)&&(t=t.replace(RegExp(i+"}","g"),h+i+"}"+r)),t=t.replace(RegExp(i+"}","g"),i+":,."+s+"f}")})),o(t,{point:this,series:this.series},i.chart)}update(t,i,e,s){let h,r=this,n=r.series,o=r.graphic,a=n.chart,l=n.options;function c(){r.applyOptions(t);let s=o&&r.hasMockGraphic;o&&(null===r.y?!s:s)&&(r.graphic=o.destroy(),delete r.hasMockGraphic),b(t,!0)&&(o&&o.element&&t&&t.marker&&void 0!==t.marker.symbol&&(r.graphic=o.destroy()),t?.dataLabels&&r.dataLabel&&(r.dataLabel=r.dataLabel.destroy())),h=r.index,n.updateParallelArrays(r,h),l.data[h]=b(l.data[h],!0)||b(t,!0)?r.options:v(t,l.data[h]),n.isDirty=n.isDirtyData=!0,!n.fixedBox&&n.hasCartesianSeries&&(a.isDirtyBox=!0),"point"===l.legendType&&(a.isDirtyLegend=!0),i&&a.redraw(e)}i=v(i,!0),!1===s?c():r.firePointEvent("update",{options:t},c)}remove(t,i){this.series.removePoint(this.series.data.indexOf(this),t,i)}select(t,i){let e=this,s=e.series,h=s.chart;t=v(t,!e.selected),this.selectedStaging=t,e.firePointEvent(t?"select":"unselect",{accumulate:i},(function(){e.selected=e.options.selected=t,s.options.data[s.data.indexOf(e)]=e.options,e.setState(t&&"select"),i||h.getSelectedPoints().forEach((function(t){let i=t.series;t.selected&&t!==e&&(t.selected=t.options.selected=!1,i.options.data[i.data.indexOf(t)]=t.options,t.setState(h.hoverPoints&&i.options.inactiveOtherPoints?"inactive":""),t.firePointEvent("unselect"))}))})),delete this.selectedStaging}onMouseOver(t){let{inverted:i,pointer:e}=this.series.chart;e&&(t=t?e.normalize(t):e.getChartCoordinatesFromPoint(this,i),e.runPointActions(t,this))}onMouseOut(){let t=this.series.chart;this.firePointEvent("mouseOut"),this.series.options.inactiveOtherPoints||(t.hoverPoints||[]).forEach((function(t){t.setState()})),t.hoverPoints=t.hoverPoint=null}manageEvent(t){let i=x(this.series.options.point,this.options).events?.[t];!g(i)||this.hcEvents?.[t]&&-1!==this.hcEvents?.[t]?.map((t=>t.fn)).indexOf(i)?this.importedUserEvent&&!i&&this.hcEvents?.[t]&&(M(this,t),delete this.hcEvents[t],Object.keys(this.hcEvents)||delete this.importedUserEvent):(this.importedUserEvent?.(),this.importedUserEvent=a(this,t,i))}setState(i,e){let s,h,r,o,a=this.series,l=this.state,c=a.options.states[i||"normal"]||{},f=n.plotOptions[a.type].marker&&a.options.marker,p=f&&f.states&&f.states[i||"normal"]||{},g=this.marker||{},b=a.chart,x=f&&a.markerAttribs,y=a.halo,M=a.stateMarkerGraphic;if((i=i||"")===this.state&&!e||this.selected&&"select"!==i||!1===c.enabled||i&&(!1===p.enabled||f&&!1===f.enabled&&!1===p.enabled)||i&&g.states&&g.states[i]&&!1===g.states[i].enabled)return;if(this.state=i,x&&(s=a.markerAttribs(this,i)),this.graphic&&!this.hasMockGraphic){if(l&&this.graphic.removeClass("highcharts-point-"+l),i&&this.graphic.addClass("highcharts-point-"+i),!b.styledMode){h=a.pointAttribs(this,i),r=v(b.options.chart.animation,c.animation);let t=h.opacity;a.options.inactiveOtherPoints&&m(t)&&(this.dataLabels||[]).forEach((function(i){i&&!i.hasClass("highcharts-data-label-hidden")&&(i.animate({opacity:t},r),i.connector&&i.connector.animate({opacity:t},r))})),this.graphic.animate(h,r)}s&&this.graphic.animate(s,v(b.options.chart.animation,p.animation,f.animation)),M&&M.hide()}else i&&p&&(o=g.symbol||a.symbol,M&&M.currentSymbol!==o&&(M=M.destroy()),s&&(M?M[e?"animate":"attr"]({x:s.x,y:s.y}):o&&(a.stateMarkerGraphic=M=b.renderer.symbol(o,s.x,s.y,s.width,s.height).add(a.markerGroup),M.currentSymbol=o)),!b.styledMode&&M&&"inactive"!==this.state&&M.attr(a.pointAttribs(this,i))),M&&(M[i&&this.isInside?"show":"hide"](),M.element.point=this,M.addClass(this.getClassName(),!0));let w=c.halo,k=this.graphic||M,S=k&&k.visibility||"inherit";w&&w.size&&k&&"hidden"!==S&&!this.isCluster?(y||(a.halo=y=b.renderer.path().add(k.parentGroup)),y.show()[e?"animate":"attr"]({d:this.haloPath(w.size)}),y.attr({class:"highcharts-halo highcharts-color-"+v(this.colorIndex,a.colorIndex)+(this.className?" "+this.className:""),visibility:S,zIndex:-1}),y.point=this,b.styledMode||y.attr(d({fill:this.color||a.color,"fill-opacity":w.opacity},t.filterUserAttributes(w.attributes||{})))):y?.point?.haloPath&&!y.point.destroyed&&y.animate({d:y.point.haloPath(0)},null,y.hide),u(this,"afterSetState",{state:i})}haloPath(t){let i=this.pos();return i?this.series.chart.renderer.symbols.circle(l(i[0],1)-t,i[1]-t,2*t,2*t):[]}}return k})),e(i,"Core/Pointer.js",[i["Core/Color/Color.js"],i["Core/Globals.js"],i["Core/Utilities.js"]],(function(t,i,e){var s;let{parse:h}=t,{charts:r,composed:n,isTouchDevice:o}=i,{addEvent:a,attr:l,css:c,extend:d,find:u,fireEvent:f,isNumber:p,isObject:g,objectEach:m,offset:b,pick:x,pushUnique:v,splat:y}=e;class M{applyInactiveState(t){let i,e=[];(t||[]).forEach((function(t){i=t.series,e.push(i),i.linkedParent&&e.push(i.linkedParent),i.linkedSeries&&(e=e.concat(i.linkedSeries)),i.navigatorSeries&&e.push(i.navigatorSeries)})),this.chart.series.forEach((function(t){-1===e.indexOf(t)?t.setState("inactive",!0):t.options.inactiveOtherPoints&&t.setAllPointsToState("inactive")}))}destroy(){let t=this;this.eventsToUnbind.forEach((t=>t())),this.eventsToUnbind=[],!i.chartCount&&(M.unbindDocumentMouseUp&&M.unbindDocumentMouseUp.forEach((t=>t())),M.unbindDocumentTouchEnd&&(M.unbindDocumentTouchEnd=M.unbindDocumentTouchEnd())),clearInterval(t.tooltipTimeout),m(t,(function(i,e){t[e]=void 0}))}getSelectionMarkerAttrs(t,i){let e={args:{chartX:t,chartY:i},attrs:{},shapeType:"rect"};return f(this,"getSelectionMarkerAttrs",e,(e=>{let s,{chart:h,zoomHor:r,zoomVert:n}=this,{mouseDownX:o=0,mouseDownY:a=0}=h,l=e.attrs;l.x=h.plotLeft,l.y=h.plotTop,l.width=r?1:h.plotWidth,l.height=n?1:h.plotHeight,r&&(s=t-o,l.width=Math.max(1,Math.abs(s)),l.x=(s>0?0:s)+o),n&&(s=i-a,l.height=Math.max(1,Math.abs(s)),l.y=(s>0?0:s)+a)})),e}drag(t){let i,{chart:e}=this,{mouseDownX:s=0,mouseDownY:r=0}=e,{panning:n,panKey:o,selectionMarkerFill:a}=e.options.chart,l=e.plotLeft,c=e.plotTop,d=e.plotWidth,u=e.plotHeight,f=g(n)?n.enabled:n,p=o&&t[`${o}Key`],m=t.chartX,b=t.chartY,x=this.selectionMarker;if((!x||!x.touch)&&(m<l?m=l:m>l+d&&(m=l+d),b<c?b=c:b>c+u&&(b=c+u),this.hasDragged=Math.sqrt(Math.pow(s-m,2)+Math.pow(r-b,2)),this.hasDragged>10)){i=e.isInsidePlot(s-l,r-c,{visiblePlotOnly:!0});let{shapeType:o,attrs:d}=this.getSelectionMarkerAttrs(m,b);(e.hasCartesianSeries||e.mapView)&&this.hasZoom&&i&&!p&&!x&&(this.selectionMarker=x=e.renderer[o](),x.attr({class:"highcharts-selection-marker",zIndex:7}).add(),e.styledMode||x.attr({fill:a||h("#334eff").setOpacity(.25).get()})),x&&x.attr(d),i&&!x&&f&&e.pan(t,n)}}dragStart(t){let i=this.chart;i.mouseIsDown=t.type,i.cancelClick=!1,i.mouseDownX=t.chartX,i.mouseDownY=t.chartY}getSelectionBox(t){let i={args:{marker:t},result:t.getBBox()};return f(this,"getSelectionBox",i),i.result}drop(t){let i,{chart:e,selectionMarker:s}=this;for(let t of e.axes)t.isPanning&&(t.isPanning=!1,(t.options.startOnTick||t.options.endOnTick||t.series.some((t=>t.boosted)))&&(t.forceRedraw=!0,t.setExtremes(t.userMin,t.userMax,!1),i=!0));if(i&&e.redraw(),s&&t){if(this.hasDragged){let i=this.getSelectionBox(s);e.transform({axes:e.axes.filter((t=>t.zoomEnabled&&("xAxis"===t.coll&&this.zoomX||"yAxis"===t.coll&&this.zoomY))),selection:{originalEvent:t,xAxis:[],yAxis:[],...i},from:i})}p(e.index)&&(this.selectionMarker=s.destroy())}e&&p(e.index)&&(c(e.container,{cursor:e._cursor}),e.cancelClick=this.hasDragged>10,e.mouseIsDown=!1,this.hasDragged=0,this.pinchDown=[])}findNearestKDPoint(t,i,e){let s;return t.forEach((function(t){let h=!(t.noSharedTooltip&&i)&&0>t.options.findNearestPointBy.indexOf("y"),r=t.searchPoint(e,h);g(r,!0)&&r.series&&(!g(s,!0)||function(t,e){let s=t.distX-e.distX,h=t.dist-e.dist,r=e.series.group?.zIndex-t.series.group?.zIndex;return 0!==s&&i?s:0!==h?h:0!==r?r:t.series.index>e.series.index?-1:1}(s,r)>0)&&(s=r)})),s}getChartCoordinatesFromPoint(t,i){let{xAxis:e,yAxis:s}=t.series,h=t.shapeArgs;if(e&&s){let r=t.clientX??t.plotX??0,n=t.plotY||0;return t.isNode&&h&&p(h.x)&&p(h.y)&&(r=h.x,n=h.y),i?{chartX:s.len+s.pos-n,chartY:e.len+e.pos-r}:{chartX:r+e.pos,chartY:n+s.pos}}if(h&&h.x&&h.y)return{chartX:h.x,chartY:h.y}}getChartPosition(){if(this.chartPosition)return this.chartPosition;let{container:t}=this.chart,i=b(t);this.chartPosition={left:i.left,top:i.top,scaleX:1,scaleY:1};let{offsetHeight:e,offsetWidth:s}=t;return s>2&&e>2&&(this.chartPosition.scaleX=i.width/s,this.chartPosition.scaleY=i.height/e),this.chartPosition}getCoordinates(t){let i={xAxis:[],yAxis:[]};for(let e of this.chart.axes)i[e.isXAxis?"xAxis":"yAxis"].push({axis:e,value:e.toValue(t[e.horiz?"chartX":"chartY"])});return i}getHoverData(t,i,e,s,h,r){let n,o=[],a=function(t){return t.visible&&!(!h&&t.directTouch)&&x(t.options.enableMouseTracking,!0)},l=i,c={chartX:r?r.chartX:void 0,chartY:r?r.chartY:void 0,shared:h};f(this,"beforeGetHoverData",c),n=l&&!l.stickyTracking?[l]:e.filter((t=>t.stickyTracking&&(c.filter||a)(t)));let d=s&&t||!r?t:this.findNearestKDPoint(n,h,r);return l=d&&d.series,d&&(h&&!l.noSharedTooltip?(n=e.filter((function(t){return c.filter?c.filter(t):a(t)&&!t.noSharedTooltip}))).forEach((function(t){let i=u(t.points,(function(t){return t.x===d.x&&!t.isNull}));g(i)&&(t.boosted&&t.boost&&(i=t.boost.getPoint(i)),o.push(i))})):o.push(d)),f(this,"afterGetHoverData",c={hoverPoint:d}),{hoverPoint:c.hoverPoint,hoverSeries:l,hoverPoints:o}}getPointFromEvent(t){let i,e=t.target;for(;e&&!i;)i=e.point,e=e.parentNode;return i}onTrackerMouseOut(t){let i=t.relatedTarget,e=this.chart.hoverSeries;this.isDirectTouch=!1,!e||!i||e.stickyTracking||this.inClass(i,"highcharts-tooltip")||this.inClass(i,"highcharts-series-"+e.index)&&this.inClass(i,"highcharts-tracker")||e.onMouseOut()}inClass(t,i){let e,s=t;for(;s;){if(e=l(s,"class")){if(-1!==e.indexOf(i))return!0;if(-1!==e.indexOf("highcharts-container"))return!1}s=s.parentElement}}constructor(t,i){this.hasDragged=0,this.pointerCaptureEventsToUnbind=[],this.eventsToUnbind=[],this.options=i,this.chart=t,this.runChartClick=!!i.chart.events?.click,this.pinchDown=[],this.setDOMEvents(),f(this,"afterInit")}normalize(t,i){let e=t.touches,s=e?e.length?e.item(0):x(e.changedTouches,t.changedTouches)[0]:t;i||(i=this.getChartPosition());let h=s.pageX-i.left,r=s.pageY-i.top;return d(t,{chartX:Math.round(h/=i.scaleX),chartY:Math.round(r/=i.scaleY)})}onContainerClick(t){let i=this.chart,e=i.hoverPoint,s=this.normalize(t),h=i.plotLeft,r=i.plotTop;!i.cancelClick&&(e&&this.inClass(s.target,"highcharts-tracker")?(f(e.series,"click",d(s,{point:e})),i.hoverPoint&&e.firePointEvent("click",s)):(d(s,this.getCoordinates(s)),i.isInsidePlot(s.chartX-h,s.chartY-r,{visiblePlotOnly:!0})&&f(i,"click",s)))}onContainerMouseDown(t){let e=1==(1&(t.buttons||t.button));t=this.normalize(t),i.isFirefox&&0!==t.button&&this.onContainerMouseMove(t),(void 0===t.button||e)&&(this.zoomOption(t),e&&t.preventDefault?.(),this.dragStart(t))}onContainerMouseLeave(t){let{pointer:i}=r[x(M.hoverChartIndex,-1)]||{};t=this.normalize(t),this.onContainerMouseMove(t),i&&!this.inClass(t.relatedTarget,"highcharts-tooltip")&&(i.reset(),i.chartPosition=void 0)}onContainerMouseEnter(){delete this.chartPosition}onContainerMouseMove(t){let i=this.chart,e=i.tooltip,s=this.normalize(t);this.setHoverChartIndex(t),("mousedown"===i.mouseIsDown||this.touchSelect(s))&&this.drag(s),!i.openMenu&&(this.inClass(s.target,"highcharts-tracker")||i.isInsidePlot(s.chartX-i.plotLeft,s.chartY-i.plotTop,{visiblePlotOnly:!0}))&&(!e||!e.shouldStickOnContact(s))&&(this.inClass(s.target,"highcharts-no-tooltip")?this.reset(!1,0):this.runPointActions(s))}onDocumentTouchEnd(t){this.onDocumentMouseUp(t)}onContainerTouchMove(t){this.touchSelect(t)?this.onContainerMouseMove(t):this.touch(t)}onContainerTouchStart(t){this.touchSelect(t)?this.onContainerMouseDown(t):(this.zoomOption(t),this.touch(t,!0))}onDocumentMouseMove(t){let i=this.chart,e=i.tooltip,s=this.chartPosition,h=this.normalize(t,s);!s||i.isInsidePlot(h.chartX-i.plotLeft,h.chartY-i.plotTop,{visiblePlotOnly:!0})||e&&e.shouldStickOnContact(h)||h.target!==i.container.ownerDocument&&this.inClass(h.target,"highcharts-tracker")||this.reset()}onDocumentMouseUp(t){r[x(M.hoverChartIndex,-1)]?.pointer?.drop(t)}pinch(t){let i=this,{chart:e,hasZoom:s,lastTouches:h}=i,r=[].map.call(t.touches||[],(t=>i.normalize(t))),n=r.length,o=1===n&&(i.inClass(t.target,"highcharts-tracker")&&e.runTrackerClick||i.runChartClick),a=1===n&&x(e.tooltip?.options.followTouchMove,!0);n>1?i.initiated=!0:a&&(i.initiated=!1),s&&i.initiated&&!o&&!1!==t.cancelable&&t.preventDefault(),"touchstart"===t.type?(i.pinchDown=r,i.res=!0,e.mouseDownX=t.chartX):a?this.runPointActions(i.normalize(t)):h&&(f(e,"touchpan",{originalEvent:t,touches:r},(()=>{let i=t=>{let i=t[0],e=t[1]||i;return{x:i.chartX,y:i.chartY,width:e.chartX-i.chartX,height:e.chartY-i.chartY}};e.transform({axes:e.axes.filter((t=>t.zoomEnabled&&(this.zoomHor&&t.horiz||this.zoomVert&&!t.horiz))),to:i(r),from:i(h),trigger:t.type})})),i.res&&(i.res=!1,this.reset(!1,0))),i.lastTouches=r}reset(t,i){let e=this.chart,s=e.hoverSeries,h=e.hoverPoint,r=e.hoverPoints,n=e.tooltip,o=n&&n.shared?r:h;t&&o&&y(o).forEach((function(i){i.series.isCartesian&&void 0===i.plotX&&(t=!1)})),t?n&&o&&y(o).length&&(n.refresh(o),n.shared&&r?r.forEach((function(t){t.setState(t.state,!0),t.series.isCartesian&&(t.series.xAxis.crosshair&&t.series.xAxis.drawCrosshair(null,t),t.series.yAxis.crosshair&&t.series.yAxis.drawCrosshair(null,t))})):h&&(h.setState(h.state,!0),e.axes.forEach((function(t){t.crosshair&&h.series[t.coll]===t&&t.drawCrosshair(null,h)})))):(h&&h.onMouseOut(),r&&r.forEach((function(t){t.setState()})),s&&s.onMouseOut(),n&&n.hide(i),this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove()),e.axes.forEach((function(t){t.hideCrosshair()})),e.hoverPoints=e.hoverPoint=void 0)}runPointActions(t,i,e){let s=this.chart,h=s.tooltip&&s.tooltip.options.enabled?s.tooltip:void 0,n=!!h&&h.shared,o=i||s.hoverPoint,l=o&&o.series||s.hoverSeries,c=this.getHoverData(o,l,s.series,(!t||"touchmove"!==t.type)&&(!!i||l&&l.directTouch&&this.isDirectTouch),n,t);o=c.hoverPoint,l=c.hoverSeries;let d=c.hoverPoints,f=l&&l.tooltipOptions.followPointer&&!l.tooltipOptions.split,p=n&&l&&!l.noSharedTooltip;if(o&&(e||o!==s.hoverPoint||h&&h.isHidden)){if((s.hoverPoints||[]).forEach((function(t){-1===d.indexOf(t)&&t.setState()})),s.hoverSeries!==l&&l.onMouseOver(),this.applyInactiveState(d),(d||[]).forEach((function(t){t.setState("hover")})),s.hoverPoint&&s.hoverPoint.firePointEvent("mouseOut"),!o.series)return;s.hoverPoints=d,s.hoverPoint=o,o.firePointEvent("mouseOver",void 0,(()=>{h&&o&&h.refresh(p?d:o,t)}))}else if(f&&h&&!h.isHidden){let i=h.getAnchor([{}],t);s.isInsidePlot(i[0],i[1],{visiblePlotOnly:!0})&&h.updatePosition({plotX:i[0],plotY:i[1]})}this.unDocMouseMove||(this.unDocMouseMove=a(s.container.ownerDocument,"mousemove",(t=>r[M.hoverChartIndex??-1]?.pointer?.onDocumentMouseMove(t))),this.eventsToUnbind.push(this.unDocMouseMove)),s.axes.forEach((function(i){let e,h=x((i.crosshair||{}).snap,!0);!h||(e=s.hoverPoint)&&e.series[i.coll]===i||(e=u(d,(t=>t.series&&t.series[i.coll]===i))),e||!h?i.drawCrosshair(t,e):i.hideCrosshair()}))}setDOMEvents(){let t=this.chart.container,i=t.ownerDocument;t.onmousedown=this.onContainerMouseDown.bind(this),t.onmousemove=this.onContainerMouseMove.bind(this),t.onclick=this.onContainerClick.bind(this),this.eventsToUnbind.push(a(t,"mouseenter",this.onContainerMouseEnter.bind(this)),a(t,"mouseleave",this.onContainerMouseLeave.bind(this))),M.unbindDocumentMouseUp||(M.unbindDocumentMouseUp=[]),M.unbindDocumentMouseUp.push(a(i,"mouseup",this.onDocumentMouseUp.bind(this)));let e=this.chart.renderTo.parentElement;for(;e&&"BODY"!==e.tagName;)this.eventsToUnbind.push(a(e,"scroll",(()=>{delete this.chartPosition}))),e=e.parentElement;this.eventsToUnbind.push(a(t,"touchstart",this.onContainerTouchStart.bind(this),{passive:!1}),a(t,"touchmove",this.onContainerTouchMove.bind(this),{passive:!1})),M.unbindDocumentTouchEnd||(M.unbindDocumentTouchEnd=a(i,"touchend",this.onDocumentTouchEnd.bind(this),{passive:!1})),this.setPointerCapture(),a(this.chart,"redraw",this.setPointerCapture.bind(this))}setPointerCapture(){if(!o)return;let t=this.pointerCaptureEventsToUnbind,i=this.chart,e=i.container,s=x(i.options.tooltip?.followTouchMove,!0)&&i.series.some((t=>t.options.findNearestPointBy.indexOf("y")>-1));!this.hasPointerCapture&&s?(t.push(a(e,"pointerdown",(t=>{t.target?.hasPointerCapture(t.pointerId)&&t.target?.releasePointerCapture(t.pointerId)})),a(e,"pointermove",(t=>{i.pointer?.getPointFromEvent(t)?.onMouseOver(t)}))),i.styledMode||c(e,{"touch-action":"none"}),e.className+=" highcharts-no-touch-action",this.hasPointerCapture=!0):this.hasPointerCapture&&!s&&(t.forEach((t=>t())),t.length=0,i.styledMode||c(e,{"touch-action":x(i.options.chart.style?.["touch-action"],"manipulation")}),e.className=e.className.replace(" highcharts-no-touch-action",""),this.hasPointerCapture=!1)}setHoverChartIndex(t){let e=this.chart,s=i.charts[x(M.hoverChartIndex,-1)];if(s&&s!==e){let i={relatedTarget:e.container};t&&!t?.relatedTarget&&(t={...i,...t}),s.pointer?.onContainerMouseLeave(t||i)}s&&s.mouseIsDown||(M.hoverChartIndex=e.index)}touch(t,i){let e,{chart:s,pinchDown:h=[]}=this;this.setHoverChartIndex(),1===(t=this.normalize(t)).touches.length?s.isInsidePlot(t.chartX-s.plotLeft,t.chartY-s.plotTop,{visiblePlotOnly:!0})&&!s.openMenu?(i&&this.runPointActions(t),"touchmove"===t.type&&(e=!!h[0]&&Math.pow(h[0].chartX-t.chartX,2)+Math.pow(h[0].chartY-t.chartY,2)>=16),x(e,!0)&&this.pinch(t)):i&&this.reset():2===t.touches.length&&this.pinch(t)}touchSelect(t){return!(!this.chart.zooming.singleTouch||!t.touches||1!==t.touches.length)}zoomOption(t){let i,e,s=this.chart,h=s.inverted,r=s.zooming.type||"";/touch/.test(t.type)&&(r=x(s.zooming.pinchType,r)),this.zoomX=i=/x/.test(r),this.zoomY=e=/y/.test(r),this.zoomHor=i&&!h||e&&h,this.zoomVert=e&&!h||i&&h,this.hasZoom=i||e}}return(s=M||(M={})).compose=function(t){v(n,"Core.Pointer")&&a(t,"beforeRender",(function(){this.pointer=new s(this,this.options)}))},M})),e(i,"Core/Legend/LegendSymbol.js",[i["Core/Utilities.js"]],(function(t){var i;let{extend:e,merge:s,pick:h}=t;return function(t){function i(t,i,r){let n,o=this.legendItem=this.legendItem||{},{chart:a,options:l}=this,{baseline:c=0,symbolWidth:d,symbolHeight:u}=t,f=this.symbol||"circle",p=u/2,g=a.renderer,m=o.group,b=c-Math.round((t.fontMetrics?.b||u)*(r?.4:.3)),x={},v=l.marker,y=0;if(a.styledMode||(x["stroke-width"]=Math.min(l.lineWidth||0,24),l.dashStyle?x.dashstyle=l.dashStyle:"square"===l.linecap||(x["stroke-linecap"]="round")),o.line=g.path().addClass("highcharts-graph").attr(x).add(m),r&&(o.area=g.path().addClass("highcharts-area").add(m)),x["stroke-linecap"]&&(y=Math.min(o.line.strokeWidth(),d)/2),d){let t=[["M",y,b],["L",d-y,b]];o.line.attr({d:t}),o.area?.attr({d:[...t,["L",d-y,c],["L",y,c]]})}if(v&&!1!==v.enabled&&d){let t=Math.min(h(v.radius,p),p);0===f.indexOf("url")&&(v=s(v,{width:u,height:u}),t=0),o.symbol=n=g.symbol(f,d/2-t,b-t,2*t,2*t,e({context:"legend"},v)).addClass("highcharts-point").add(m),n.isMarker=!0}}t.areaMarker=function(t,e){i.call(this,t,e,!0)},t.lineMarker=i,t.rectangle=function(t,i){let e=i.legendItem||{},s=t.symbolHeight,r=t.options.squareSymbol;e.symbol=this.chart.renderer.rect(r?(t.symbolWidth-s)/2:0,t.baseline-s+1,r?s:t.symbolWidth,s,h(t.options.symbolRadius,s/2)).addClass("highcharts-point").attr({zIndex:3}).add(e.group)}}(i||(i={})),i})),e(i,"Core/Series/SeriesDefaults.js",[],(function(){return{lineWidth:2,allowPointSelect:!1,crisp:!0,showCheckbox:!1,animation:{duration:1e3},enableMouseTracking:!0,events:{},marker:{enabledThreshold:2,lineColor:"#ffffff",lineWidth:0,radius:4,states:{normal:{animation:!0},hover:{animation:{duration:150},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:"#cccccc",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:{animation:{},align:"center",borderWidth:0,defer:!0,formatter:function(){let{numberFormatter:t}=this.series.chart;return"number"!=typeof this.y?"":t(this.y,-1)},padding:5,style:{fontSize:"0.7em",fontWeight:"bold",color:"contrast",textOutline:"1px contrast"},verticalAlign:"bottom",x:0,y:0},cropThreshold:300,opacity:1,pointRange:0,softThreshold:!0,states:{normal:{animation:!0},hover:{animation:{duration:150},lineWidthPlus:1,marker:{},halo:{size:10,opacity:.25}},select:{animation:{duration:0}},inactive:{animation:{duration:150},opacity:.2}},stickyTracking:!0,turboThreshold:1e3,findNearestPointBy:"x"}})),e(i,"Core/Series/SeriesRegistry.js",[i["Core/Globals.js"],i["Core/Defaults.js"],i["Core/Series/Point.js"],i["Core/Utilities.js"]],(function(t,i,e,s){var h;let{defaultOptions:r}=i,{extend:n,extendClass:o,merge:a}=s;return function(i){function s(t,s){let h=r.plotOptions||{},n=s.defaultOptions,o=s.prototype;return o.type=t,o.pointClass||(o.pointClass=e),!i.seriesTypes[t]&&(n&&(h[t]=n),i.seriesTypes[t]=s,!0)}i.seriesTypes=t.seriesTypes,i.registerSeriesType=s,i.seriesType=function(t,h,l,c,d){let u=r.plotOptions||{};if(u[t]=a(u[h=h||""],l),delete i.seriesTypes[t],s(t,o(i.seriesTypes[h]||function(){},c)),i.seriesTypes[t].prototype.type=t,d){class s extends e{}n(s.prototype,d),i.seriesTypes[t].prototype.pointClass=s}return i.seriesTypes[t]}}(h||(h={})),h})),e(i,"Core/Series/Series.js",[i["Core/Animation/AnimationUtilities.js"],i["Core/Defaults.js"],i["Core/Foundation.js"],i["Core/Globals.js"],i["Core/Legend/LegendSymbol.js"],i["Core/Series/Point.js"],i["Core/Series/SeriesDefaults.js"],i["Core/Series/SeriesRegistry.js"],i["Core/Renderer/SVG/SVGElement.js"],i["Core/Utilities.js"]],(function(t,i,e,s,h,r,n,o,a,l){let{animObject:c,setAnimation:d}=t,{defaultOptions:u}=i,{registerEventOptions:f}=e,{svg:p,win:g}=s,{seriesTypes:m}=o,{arrayMax:b,arrayMin:x,clamp:v,correctFloat:y,crisp:M,defined:w,destroyObjectProperties:k,diffObjects:S,erase:O,error:A,extend:L,find:C,fireEvent:j,getClosestDistance:T,getNestedProperty:P,insertItem:E,isArray:z,isNumber:D,isString:N,merge:I,objectEach:F,pick:R,removeEvent:B,splat:Y,syncTimeout:G}=l;class X{constructor(){this.zoneAxis="y"}init(t,i){let e;j(this,"init",{options:i});let s=this,h=t.series;this.eventsToUnbind=[],s.chart=t,s.options=s.setOptions(i);let r=s.options,n=!1!==r.visible;s.linkedSeries=[],s.bindAxes(),L(s,{name:r.name,state:"",visible:n,selected:!0===r.selected}),f(this,r);let o=r.events;(o&&o.click||r.point&&r.point.events&&r.point.events.click||r.allowPointSelect)&&(t.runTrackerClick=!0),s.getColor(),s.getSymbol(),s.parallelArrays.forEach((function(t){s[t+"Data"]||(s[t+"Data"]=[])})),s.isCartesian&&(t.hasCartesianSeries=!0),h.length&&(e=h[h.length-1]),s._i=R(e&&e._i,-1)+1,s.opacity=s.options.opacity,t.orderItems("series",E(this,h)),r.dataSorting&&r.dataSorting.enabled?s.setDataSortingOptions():s.points||s.data||s.setData(r.data,!1),j(this,"afterInit")}is(t){return m[t]&&this instanceof m[t]}bindAxes(){let t,i=this,e=i.options,s=i.chart;j(this,"bindAxes",null,(function(){(i.axisTypes||[]).forEach((function(h){(s[h]||[]).forEach((function(s){t=s.options,(R(e[h],0)===s.index||void 0!==e[h]&&e[h]===t.id)&&(E(i,s.series),i[h]=s,s.isDirty=!0)})),i[h]||i.optionalAxis===h||A(18,!0,s)}))})),j(this,"afterBindAxes")}updateParallelArrays(t,i,e){let s=t.series,h=D(i)?function(e){let h="y"===e&&s.toYData?s.toYData(t):t[e];s[e+"Data"][i]=h}:function(t){Array.prototype[i].apply(s[t+"Data"],e)};s.parallelArrays.forEach(h)}hasData(){return this.visible&&void 0!==this.dataMax&&void 0!==this.dataMin||this.visible&&this.yData&&this.yData.length>0}hasMarkerChanged(t,i){let e=t.marker,s=i.marker||{};return e&&(s.enabled&&!e.enabled||s.symbol!==e.symbol||s.height!==e.height||s.width!==e.width)}autoIncrement(t){let i,e,s=this.options,h=s.pointIntervalUnit,r=s.relativeXValue,n=this.chart.time,o=this.xIncrement;return o=R(o,s.pointStart,0),this.pointInterval=e=R(this.pointInterval,s.pointInterval,1),r&&D(t)&&(e*=t),h&&(i=new n.Date(o),"day"===h?n.set("Date",i,n.get("Date",i)+e):"month"===h?n.set("Month",i,n.get("Month",i)+e):"year"===h&&n.set("FullYear",i,n.get("FullYear",i)+e),e=i.getTime()-o),r&&D(t)?o+e:(this.xIncrement=o+e,o)}setDataSortingOptions(){let t=this.options;L(this,{requireSorting:!1,sorted:!1,enabledDataSorting:!0,allowDG:!1}),w(t.pointRange)||(t.pointRange=1)}setOptions(t){let i,e=this.chart,s=e.options.plotOptions,h=e.userOptions||{},r=I(t),n=e.styledMode,o={plotOptions:s,userOptions:r};j(this,"setOptions",o);let a=o.plotOptions[this.type],l=h.plotOptions||{},c=l.series||{},d=u.plotOptions[this.type]||{},f=l[this.type]||{};this.userOptions=o.userOptions;let p=I(a,s.series,f,r);this.tooltipOptions=I(u.tooltip,u.plotOptions.series?.tooltip,d?.tooltip,e.userOptions.tooltip,l.series?.tooltip,f.tooltip,r.tooltip),this.stickyTracking=R(r.stickyTracking,f.stickyTracking,c.stickyTracking,!!this.tooltipOptions.shared&&!this.noSharedTooltip||p.stickyTracking),null===a.marker&&delete p.marker,this.zoneAxis=p.zoneAxis||"y";let g=this.zones=(p.zones||[]).map((t=>({...t})));return(p.negativeColor||p.negativeFillColor)&&!p.zones&&(i={value:p[this.zoneAxis+"Threshold"]||p.threshold||0,className:"highcharts-negative"},n||(i.color=p.negativeColor,i.fillColor=p.negativeFillColor),g.push(i)),g.length&&w(g[g.length-1].value)&&g.push(n?{}:{color:this.color,fillColor:this.fillColor}),j(this,"afterSetOptions",{options:p}),p}getName(){return R(this.options.name,"Series "+(this.index+1))}getCyclic(t,i,e){let s,h,r=this.chart,n=`${t}Index`,o=`${t}Counter`,a=e?.length||r.options.chart.colorCount;!i&&(w(h=R("color"===t?this.options.colorIndex:void 0,this[n]))?s=h:(r.series.length||(r[o]=0),s=r[o]%a,r[o]+=1),e&&(i=e[s])),void 0!==s&&(this[n]=s),this[t]=i}getColor(){this.chart.styledMode?this.getCyclic("color"):this.options.colorByPoint?this.color="#cccccc":this.getCyclic("color",this.options.color||u.plotOptions[this.type].color,this.chart.options.colors)}getPointsCollection(){return(this.hasGroupedData?this.points:this.data)||[]}getSymbol(){this.getCyclic("symbol",this.options.marker.symbol,this.chart.options.symbols)}findPointIndex(t,i){let e,s,h,n=t.id,o=t.x,a=this.points,l=this.options.dataSorting;if(n){let t=this.chart.get(n);t instanceof r&&(e=t)}else if(this.linkedParent||this.enabledDataSorting||this.options.relativeXValue){let i=i=>!i.touched&&i.index===t.index;if(l&&l.matchByName?i=i=>!i.touched&&i.name===t.name:this.options.relativeXValue&&(i=i=>!i.touched&&i.options.x===t.x),!(e=C(a,i)))return}return e&&void 0!==(h=e&&e.index)&&(s=!0),void 0===h&&D(o)&&(h=this.xData.indexOf(o,i)),-1!==h&&void 0!==h&&this.cropped&&(h=h>=this.cropStart?h-this.cropStart:h),!s&&D(h)&&a[h]&&a[h].touched&&(h=void 0),h}updateData(t,i){let e,s,h,r,n=this.options,o=n.dataSorting,a=this.points,l=[],c=this.requireSorting,d=t.length===a.length,u=!0;if(this.xIncrement=null,t.forEach((function(t,i){let s,h=w(t)&&this.pointClass.prototype.optionsToObject.call({series:this},t)||{};h.id||D(h.x)?(-1===(s=this.findPointIndex(h,r))||void 0===s?l.push(t):a[s]&&t!==n.data[s]?(a[s].update(t,!1,null,!1),a[s].touched=!0,c&&(r=s+1)):a[s]&&(a[s].touched=!0),(!d||i!==s||o&&o.enabled||this.hasDerivedData)&&(e=!0)):l.push(t)}),this),e)for(s=a.length;s--;)(h=a[s])&&!h.touched&&h.remove&&h.remove(!1,i);else!d||o&&o.enabled?u=!1:(t.forEach((function(t,i){t===a[i].y||a[i].destroyed||a[i].update(t,!1,null,!1)})),l.length=0);return a.forEach((function(t){t&&(t.touched=!1)})),!!u&&(l.forEach((function(t){this.addPoint(t,!1,null,null,!1)}),this),null===this.xIncrement&&this.xData&&this.xData.length&&(this.xIncrement=b(this.xData),this.autoIncrement()),!0)}setData(t,i=!0,e,s){let h,r,n,o,a=this,l=a.points,c=l&&l.length||0,d=a.options,u=a.chart,f=d.dataSorting,p=a.xAxis,g=d.turboThreshold,m=this.xData,b=this.yData,x=a.pointArrayMap,v=x&&x.length,y=d.keys,M=0,w=1;u.options.chart.allowMutatingData||(d.data&&delete a.options.data,a.userOptions.data&&delete a.userOptions.data,o=I(!0,t));let k=(t=o||t||[]).length;if(f&&f.enabled&&(t=this.sortData(t)),u.options.chart.allowMutatingData&&!1!==s&&k&&c&&!a.cropped&&!a.hasGroupedData&&a.visible&&!a.boosted&&(n=this.updateData(t,e)),!n){a.xIncrement=null,a.colorCounter=0,this.parallelArrays.forEach((function(t){a[t+"Data"].length=0}));let i=g&&k>g;if(i){let e=a.getFirstValidPoint(t),s=a.getFirstValidPoint(t,k-1,-1),n=t=>!(!z(t)||!y&&!D(t[0]));if(D(e)&&D(s))for(h=0;h<k;h++)m[h]=this.autoIncrement(),b[h]=t[h];else if(n(e)&&n(s))if(v)if(e.length===v)for(h=0;h<k;h++)m[h]=this.autoIncrement(),b[h]=t[h];else for(h=0;h<k;h++)r=t[h],m[h]=r[0],b[h]=r.slice(1,v+1);else if(y&&(M=y.indexOf("x"),w=y.indexOf("y"),M=M>=0?M:0,w=w>=0?w:1),1===e.length&&(w=0),M===w)for(h=0;h<k;h++)m[h]=this.autoIncrement(),b[h]=t[h][w];else for(h=0;h<k;h++)r=t[h],m[h]=r[M],b[h]=r[w];else i=!1}if(!i)for(h=0;h<k;h++)r={series:a},a.pointClass.prototype.applyOptions.apply(r,[t[h]]),a.updateParallelArrays(r,h);for(b&&N(b[0])&&A(14,!0,u),a.data=[],a.options.data=a.userOptions.data=t,h=c;h--;)l[h]?.destroy();p&&(p.minRange=p.userMinRange),a.isDirty=u.isDirtyBox=!0,a.isDirtyData=!!l,e=!1}"point"===d.legendType&&(this.processData(),this.generatePoints()),i&&u.redraw(e)}sortData(t){let i=this,e=i.options.dataSorting.sortKey||"y",s=function(t,i){return w(i)&&t.pointClass.prototype.optionsToObject.call({series:t},i)||{}};return t.forEach((function(e,h){t[h]=s(i,e),t[h].index=h}),this),t.concat().sort(((t,i)=>{let s=P(e,t),h=P(e,i);return h<s?-1:h>s?1:0})).forEach((function(t,i){t.x=i}),this),i.linkedSeries&&i.linkedSeries.forEach((function(i){let e=i.options,h=e.data;e.dataSorting&&e.dataSorting.enabled||!h||(h.forEach((function(e,r){h[r]=s(i,e),t[r]&&(h[r].x=t[r].x,h[r].index=r)})),i.setData(h,!1))})),t}getProcessedData(t){let i,e,s,h,r,n=this,o=n.xAxis,a=n.options.cropThreshold,l=o?.logarithmic,c=n.isCartesian,d=0,u=n.xData,f=n.yData,p=!1,g=u.length;o&&(h=(s=o.getExtremes()).min,r=s.max,p=!(!o.categories||o.names.length)),c&&n.sorted&&!t&&(!a||g>a||n.forceCrop)&&(u[g-1]<h||u[0]>r?(u=[],f=[]):n.yData&&(u[0]<h||u[g-1]>r)&&(u=(i=this.cropData(n.xData,n.yData,h,r)).xData,f=i.yData,d=i.start,e=!0));let m=T([l?u.map(l.log2lin):u],(()=>n.requireSorting&&!p&&A(15,!1,n.chart)));return{xData:u,yData:f,cropped:e,cropStart:d,closestPointRange:m}}processData(t){if(this.isCartesian&&!this.isDirty&&!this.xAxis.isDirty&&!this.yAxis.isDirty&&!t)return!1;let i=this.getProcessedData();this.cropped=i.cropped,this.cropStart=i.cropStart,this.processedXData=i.xData,this.processedYData=i.yData,this.closestPointRange=this.basePointRange=i.closestPointRange,j(this,"afterProcessData")}cropData(t,i,e,s){let h,r,n=t.length,o=0,a=n;for(h=0;h<n;h++)if(t[h]>=e){o=Math.max(0,h-1);break}for(r=h;r<n;r++)if(t[r]>s){a=r+1;break}return{xData:t.slice(o,a),yData:i.slice(o,a),start:o,end:a}}generatePoints(){let t,i,e,s,h=this.options,r=this.processedData||h.data,n=this.processedXData,o=this.processedYData,a=this.pointClass,l=n.length,c=this.cropStart||0,d=this.hasGroupedData,u=h.keys,f=[],p=h.dataGrouping&&h.dataGrouping.groupAll?c:0,g=this.data;if(!g&&!d){let t=[];t.length=r.length,g=this.data=t}for(u&&d&&(this.options.keys=!1),s=0;s<l;s++)i=c+s,d?((e=new a(this,[n[s]].concat(Y(o[s])))).dataGroup=this.groupMap[p+s],e.dataGroup.options&&(e.options=e.dataGroup.options,L(e,e.dataGroup.options),delete e.dataLabels)):(e=g[i])||void 0===r[i]||(g[i]=e=new a(this,r[i],n[s])),e&&(e.index=d?p+s:i,f[s]=e);if(this.options.keys=u,g&&(l!==(t=g.length)||d))for(s=0;s<t;s++)s!==c||d||(s+=l),g[s]&&(g[s].destroyElements(),g[s].plotX=void 0);this.data=g,this.points=f,j(this,"afterGeneratePoints")}getXExtremes(t){return{min:x(t),max:b(t)}}getExtremes(t,i){let e,s,h,r,n,o,a,l=this.xAxis,c=this.yAxis,d=[],u=this.requireSorting&&!this.is("column")?1:0,f=!!c&&c.positiveValuesOnly,p=i||this.getExtremesFromAll||this.options.getExtremesFromAll,{processedXData:g,processedYData:m}=this,v=0,y=0,M=0;if(this.cropped&&p){let t=this.getProcessedData(!0);g=t.xData,m=t.yData}let w=(t=t||this.stackedYData||m||[]).length,k=g||this.xData;for(l&&(v=(e=l.getExtremes()).min,y=e.max),o=0;o<w;o++)if(r=k[o],s=(D(n=t[o])||z(n))&&((D(n)?n>0:n.length)||!f),h=i||this.getExtremesFromAll||this.options.getExtremesFromAll||this.cropped||!l||(k[o+u]||r)>=v&&(k[o-u]||r)<=y,s&&h)if(a=n.length)for(;a--;)D(n[a])&&(d[M++]=n[a]);else d[M++]=n;let S={activeYData:d,dataMin:x(d),dataMax:b(d)};return j(this,"afterGetExtremes",{dataExtremes:S}),S}applyExtremes(){let t=this.getExtremes();return this.dataMin=t.dataMin,this.dataMax=t.dataMax,t}getFirstValidPoint(t,i=0,e=1){let s=t.length,h=i;for(;h>=0&&h<s;){if(w(t[h]))return t[h];h+=e}}translate(){this.processedXData||this.processData(),this.generatePoints();let t,i,e,s,h=this.options,r=h.stacking,n=this.xAxis,o=n.categories,a=this.enabledDataSorting,l=this.yAxis,c=this.points,d=c.length,u=this.pointPlacementToXValue(),f=!!u,p=h.threshold,g=h.startFromThreshold?p:0,m=Number.MAX_VALUE;function b(t){return v(t,-1e9,1e9)}for(t=0;t<d;t++){let h,d,x,v=c[t],M=v.x,k=v.y,S=v.low,O=r&&l.stacking?.stacks[(this.negStacks&&k<(g?0:p)?"-":"")+this.stackKey];i=n.translate(M,!1,!1,!1,!0,u),v.plotX=D(i)?y(b(i)):void 0,r&&this.visible&&O&&O[M]&&(s=this.getStackIndicator(s,M,this.index),!v.isNull&&s.key&&(x=(d=O[M]).points[s.key]),d&&z(x)&&(S=x[0],k=x[1],S===g&&s.key===O[M].base&&(S=R(D(p)?p:l.min)),l.positiveValuesOnly&&w(S)&&S<=0&&(S=void 0),v.total=v.stackTotal=R(d.total),v.percentage=w(v.y)&&d.total?v.y/d.total*100:void 0,v.stackY=k,this.irregularWidths||d.setOffset(this.pointXOffset||0,this.barW||0,void 0,void 0,void 0,this.xAxis))),v.yBottom=w(S)?b(l.translate(S,!1,!0,!1,!0)):void 0,this.dataModify&&(k=this.dataModify.modifyValue(k,t)),D(k)&&void 0!==v.plotX&&(h=D(h=l.translate(k,!1,!0,!1,!0))?b(h):void 0),v.plotY=h,v.isInside=this.isPointInside(v),v.clientX=f?y(n.translate(M,!1,!1,!1,!0,u)):i,v.negative=(v.y||0)<(p||0),v.category=R(o&&o[v.x],v.x),v.isNull||!1===v.visible||(void 0!==e&&(m=Math.min(m,Math.abs(i-e))),e=i),v.zone=this.zones.length?v.getZone():void 0,!v.graphic&&this.group&&a&&(v.isNew=!0)}this.closestPointRangePx=m,j(this,"afterTranslate")}getValidPoints(t,i,e){let s=this.chart;return(t||this.points||[]).filter((function(t){let{plotX:h,plotY:r}=t;return!(!(e||!t.isNull&&D(r))||i&&!s.isInsidePlot(h,r,{inverted:s.inverted}))&&!1!==t.visible}))}getClipBox(){let{chart:t,xAxis:i,yAxis:e}=this,{x:s,y:h,width:r,height:n}=I(t.clipBox);return i&&i.len!==t.plotSizeX&&(r=i.len),e&&e.len!==t.plotSizeY&&(n=e.len),t.inverted&&!this.invertible&&([r,n]=[n,r]),{x:s,y:h,width:r,height:n}}getSharedClipKey(){return this.sharedClipKey=(this.options.xAxis||0)+","+(this.options.yAxis||0),this.sharedClipKey}setClip(){let{chart:t,group:i,markerGroup:e}=this,s=t.sharedClips,h=t.renderer,r=this.getClipBox(),n=this.getSharedClipKey(),o=s[n];o?o.animate(r):s[n]=o=h.clipRect(r),i&&i.clip(!1===this.options.clip?void 0:o),e&&e.clip()}animate(t){let{chart:i,group:e,markerGroup:s}=this,h=i.inverted,r=c(this.options.animation),n=[this.getSharedClipKey(),r.duration,r.easing,r.defer].join(","),o=i.sharedClips[n],a=i.sharedClips[n+"m"];if(t&&e){let t=this.getClipBox();o?o.attr("height",t.height):(t.width=0,h&&(t.x=i.plotHeight),o=i.renderer.clipRect(t),i.sharedClips[n]=o,a=i.renderer.clipRect({x:-99,y:-99,width:h?i.plotWidth+199:99,height:h?99:i.plotHeight+199}),i.sharedClips[n+"m"]=a),e.clip(o),s?.clip(a)}else if(o&&!o.hasClass("highcharts-animating")){let t=this.getClipBox(),e=r.step;(s?.element.childNodes.length||i.series.length>1)&&(r.step=function(t,i){e&&e.apply(i,arguments),"width"===i.prop&&a?.element&&a.attr(h?"height":"width",t+99)}),o.addClass("highcharts-animating").animate(t,r)}}afterAnimate(){this.setClip(),F(this.chart.sharedClips,((t,i,e)=>{t&&!this.chart.container.querySelector(`[clip-path="url(#${t.id})"]`)&&(t.destroy(),delete e[i])})),this.finishedAnimating=!0,j(this,"afterAnimate")}drawPoints(t=this.points){let i,e,s,h,r,n,o,a=this.chart,l=a.styledMode,{colorAxis:c,options:d}=this,u=d.marker,f=this[this.specialGroup||"markerGroup"],p=this.xAxis,g=R(u.enabled,!p||!!p.isRadial||null,this.closestPointRangePx>=u.enabledThreshold*u.radius);if(!1!==u.enabled||this._hasPointMarkers)for(i=0;i<t.length;i++)if(h=(s=(e=t[i]).graphic)?"animate":"attr",r=e.marker||{},n=!!e.marker,(g&&void 0===r.enabled||r.enabled)&&!e.isNull&&!1!==e.visible){let t=R(r.symbol,this.symbol,"rect");o=this.markerAttribs(e,e.selected&&"select"),this.enabledDataSorting&&(e.startXPos=p.reversed?-(o.width||0):p.width);let i=!1!==e.isInside;if(!s&&i&&((o.width||0)>0||e.hasImage)&&(e.graphic=s=a.renderer.symbol(t,o.x,o.y,o.width,o.height,n?r:u).add(f),this.enabledDataSorting&&a.hasRendered&&(s.attr({x:e.startXPos}),h="animate")),s&&"animate"===h&&s[i?"show":"hide"](i).animate(o),s){let t=this.pointAttribs(e,l||!e.selected?void 0:"select");l?c&&s.css({fill:t.fill}):s[h](t)}s&&s.addClass(e.getClassName(),!0)}else s&&(e.graphic=s.destroy())}markerAttribs(t,i){let e,s,h=this.options,r=h.marker,n=t.marker||{},o=n.symbol||r.symbol,a={},l=R(n.radius,r&&r.radius);i&&(e=r.states[i],l=R((s=n.states&&n.states[i])&&s.radius,e&&e.radius,l&&l+(e&&e.radiusPlus||0))),t.hasImage=o&&0===o.indexOf("url"),t.hasImage&&(l=0);let c=t.pos();return D(l)&&c&&(h.crisp&&(c[0]=M(c[0],t.hasImage?0:"rect"===o?r?.lineWidth||0:1)),a.x=c[0]-l,a.y=c[1]-l),l&&(a.width=a.height=2*l),a}pointAttribs(t,i){let e,s,h,r,n=this.options.marker,o=t&&t.options,a=o&&o.marker||{},l=o&&o.color,c=t&&t.color,d=t&&t.zone&&t.zone.color,u=this.color,f=R(a.lineWidth,n.lineWidth),p=1;return u=l||d||c||u,h=a.fillColor||n.fillColor||u,r=a.lineColor||n.lineColor||u,e=n.states[i=i||"normal"]||{},f=R((s=a.states&&a.states[i]||{}).lineWidth,e.lineWidth,f+R(s.lineWidthPlus,e.lineWidthPlus,0)),h=s.fillColor||e.fillColor||h,{stroke:r=s.lineColor||e.lineColor||r,"stroke-width":f,fill:h,opacity:p=R(s.opacity,e.opacity,p)}}destroy(t){let i,e,s,h=this,r=h.chart,n=/AppleWebKit\/533/.test(g.navigator.userAgent),o=h.data||[];for(j(h,"destroy",{keepEventsForUpdate:t}),this.removeEvents(t),(h.axisTypes||[]).forEach((function(t){(s=h[t])&&s.series&&(O(s.series,h),s.isDirty=s.forceRedraw=!0)})),h.legendItem&&h.chart.legend.destroyItem(h),i=o.length;i--;)(e=o[i])&&e.destroy&&e.destroy();for(let t of h.zones)k(t,void 0,!0);l.clearTimeout(h.animationTimeout),F(h,(function(t,i){t instanceof a&&!t.survive&&t[n&&"group"===i?"hide":"destroy"]()})),r.hoverSeries===h&&(r.hoverSeries=void 0),O(r.series,h),r.orderItems("series"),F(h,(function(i,e){t&&"hcEvents"===e||delete h[e]}))}applyZones(){let{area:t,chart:i,graph:e,zones:s,points:h,xAxis:r,yAxis:n,zoneAxis:o}=this,{inverted:a,renderer:l}=i,c=this[`${o}Axis`],{isXAxis:d,len:u=0}=c||{},f=(e?.strokeWidth()||0)/2+1,p=(t,i=0,e=0)=>{a&&(e=u-e);let{translated:s=0,lineClip:h}=t,r=e-s;h?.push(["L",i,Math.abs(r)<f?e-f*(r<=0?-1:1):s])};if(s.length&&(e||t)&&c&&D(c.min)){let i=c.getExtremes().max,f=t=>{t.forEach(((i,e)=>{("M"===i[0]||"L"===i[0])&&(t[e]=[i[0],d?u-i[1]:i[1],d?i[2]:u-i[2]])}))};if(s.forEach((t=>{t.lineClip=[],t.translated=v(c.toPixels(R(t.value,i),!0)||0,0,u)})),e&&!this.showLine&&e.hide(),t&&t.hide(),"y"===o&&h.length<r.len)for(let t of h){let{plotX:i,plotY:e,zone:h}=t,r=h&&s[s.indexOf(h)-1];h&&p(h,i,e),r&&p(r,i,e)}let g=[],m=c.toPixels(c.getExtremes().min,!0);s.forEach((i=>{let s=i.lineClip||[],h=Math.round(i.translated||0);r.reversed&&s.reverse();let{clip:o,simpleClip:c}=i,u=0,p=0,b=r.len,x=n.len;d?(u=h,b=m):(p=h,x=m);let v=[["M",u,p],["L",b,p],["L",b,x],["L",u,x],["Z"]],y=[v[0],...s,v[1],v[2],...g,v[3],v[4]];g=s.reverse(),m=h,a&&(f(y),t&&f(v)),o?(o.animate({d:y}),c?.animate({d:v})):(o=i.clip=l.path(y),t&&(c=i.simpleClip=l.path(v))),e&&i.graph?.clip(o),t&&i.area?.clip(c)}))}else this.visible&&(e&&e.show(),t&&t.show())}plotGroup(t,i,e,s,h){let r=this[t],n=!r,o={visibility:e,zIndex:s||.1};return w(this.opacity)&&!this.chart.styledMode&&"inactive"!==this.state&&(o.opacity=this.opacity),r||(this[t]=r=this.chart.renderer.g().add(h)),r.addClass("highcharts-"+i+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(w(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(r.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0),r.attr(o)[n?"attr":"animate"](this.getPlotBox(i)),r}getPlotBox(t){let i=this.xAxis,e=this.yAxis,s=this.chart,h=s.inverted&&!s.polar&&i&&this.invertible&&"series"===t;return s.inverted&&(i=e,e=this.xAxis),{translateX:i?i.left:s.plotLeft,translateY:e?e.top:s.plotTop,rotation:h?90:0,rotationOriginX:h?(i.len-e.len)/2:0,rotationOriginY:h?(i.len+e.len)/2:0,scaleX:h?-1:1,scaleY:1}}removeEvents(t){let{eventsToUnbind:i}=this;t||B(this),i.length&&(i.forEach((t=>{t()})),i.length=0)}render(){let t=this,{chart:i,options:e,hasRendered:s}=t,h=c(e.animation),r=t.visible?"inherit":"hidden",n=e.zIndex,o=i.seriesGroup,a=t.finishedAnimating?0:h.duration;j(this,"render"),t.plotGroup("group","series",r,n,o),t.markerGroup=t.plotGroup("markerGroup","markers",r,n,o),!1!==e.clip&&t.setClip(),a&&t.animate?.(!0),t.drawGraph&&(t.drawGraph(),t.applyZones()),t.visible&&t.drawPoints(),t.drawDataLabels?.(),t.redrawPoints?.(),e.enableMouseTracking&&t.drawTracker?.(),a&&t.animate?.(),s||(a&&h.defer&&(a+=h.defer),t.animationTimeout=G((()=>{t.afterAnimate()}),a||0)),t.isDirty=!1,t.hasRendered=!0,j(t,"afterRender")}redraw(){let t=this.isDirty||this.isDirtyData;this.translate(),this.render(),t&&delete this.kdTree}reserveSpace(){return this.visible||!this.chart.options.chart.ignoreHiddenSeries}searchPoint(t,i){let{xAxis:e,yAxis:s}=this,h=this.chart.inverted;return this.searchKDTree({clientX:h?e.len-t.chartY+e.pos:t.chartX-e.pos,plotY:h?s.len-t.chartX+s.pos:t.chartY-s.pos},i,t)}buildKDTree(t){this.buildingKdTree=!0;let i=this,e=i.options.findNearestPointBy.indexOf("y")>-1?2:1;delete i.kdTree,G((function(){i.kdTree=function t(e,s,h){let r,n,o=e?.length;if(o)return r=i.kdAxisArray[s%h],e.sort(((t,i)=>(t[r]||0)-(i[r]||0))),{point:e[n=Math.floor(o/2)],left:t(e.slice(0,n),s+1,h),right:t(e.slice(n+1),s+1,h)}}(i.getValidPoints(void 0,!i.directTouch),e,e),i.buildingKdTree=!1}),i.options.kdNow||"touchstart"===t?.type?0:1)}searchKDTree(t,i,e){let s=this,[h,r]=this.kdAxisArray,n=i?"distX":"dist",o=(s.options.findNearestPointBy||"").indexOf("y")>-1?2:1,a=!!s.isBubble;if(this.kdTree||this.buildingKdTree||this.buildKDTree(e),this.kdTree)return function t(i,e,o,l){let c,d,u=e.point,f=s.kdAxisArray[o%l],p=u;!function(t,i){let e=t[h],s=i[h],n=w(e)&&w(s)?e-s:null,o=t[r],l=i[r],c=w(o)&&w(l)?o-l:0,d=a&&i.marker?.radius||0;i.dist=Math.sqrt((n&&n*n||0)+c*c)-d,i.distX=w(n)?Math.abs(n)-d:Number.MAX_VALUE}(i,u);let g=(i[f]||0)-(u[f]||0)+(a&&u.marker?.radius||0),m=g<0?"left":"right",b=g<0?"right":"left";return e[m]&&(p=(c=t(i,e[m],o+1,l))[n]<p[n]?c:u),e[b]&&Math.sqrt(g*g)<p[n]&&(p=(d=t(i,e[b],o+1,l))[n]<p[n]?d:p),p}(t,this.kdTree,o,o)}pointPlacementToXValue(){let{options:t,xAxis:i}=this,e=t.pointPlacement;return"between"===e&&(e=i.reversed?-.5:.5),D(e)?e*(t.pointRange||i.pointRange):0}isPointInside(t){let{chart:i,xAxis:e,yAxis:s}=this,{plotX:h=-1,plotY:r=-1}=t;return r>=0&&r<=(s?s.len:i.plotHeight)&&h>=0&&h<=(e?e.len:i.plotWidth)}drawTracker(){let t=this,i=t.options,e=i.trackByArea,s=[].concat((e?t.areaPath:t.graphPath)||[]),h=t.chart,r=h.pointer,n=h.renderer,o=h.options.tooltip?.snap||0,a=()=>{i.enableMouseTracking&&h.hoverSeries!==t&&t.onMouseOver()},l="rgba(192,192,192,"+(p?1e-4:.002)+")",c=t.tracker;c?c.attr({d:s}):t.graph&&(t.tracker=c=n.path(s).attr({visibility:t.visible?"inherit":"hidden",zIndex:2}).addClass(e?"highcharts-tracker-area":"highcharts-tracker-line").add(t.group),h.styledMode||c.attr({"stroke-linecap":"round","stroke-linejoin":"round",stroke:l,fill:e?l:"none","stroke-width":t.graph.strokeWidth()+(e?0:2*o)}),[t.tracker,t.markerGroup,t.dataLabelsGroup].forEach((t=>{t&&(t.addClass("highcharts-tracker").on("mouseover",a).on("mouseout",(t=>{r?.onTrackerMouseOut(t)})),i.cursor&&!h.styledMode&&t.css({cursor:i.cursor}),t.on("touchstart",a))}))),j(this,"afterDrawTracker")}addPoint(t,i,e,s,h){let r,n,o=this.options,a=this.data,l=this.chart,c=this.xAxis,d=c&&c.hasNames&&c.names,u=o.data,f=this.xData;i=R(i,!0);let p={series:this};this.pointClass.prototype.applyOptions.apply(p,[t]);let g=p.x;if(n=f.length,this.requireSorting&&g<f[n-1])for(r=!0;n&&f[n-1]>g;)n--;this.updateParallelArrays(p,"splice",[n,0,0]),this.updateParallelArrays(p,n),d&&p.name&&(d[g]=p.name),u.splice(n,0,t),(r||this.processedData)&&(this.data.splice(n,0,null),this.processData()),"point"===o.legendType&&this.generatePoints(),e&&(a[0]&&a[0].remove?a[0].remove(!1):(a.shift(),this.updateParallelArrays(p,"shift"),u.shift())),!1!==h&&j(this,"addPoint",{point:p}),this.isDirty=!0,this.isDirtyData=!0,i&&l.redraw(s)}removePoint(t,i,e){let s=this,h=s.data,r=h[t],n=s.points,o=s.chart,a=function(){n&&n.length===h.length&&n.splice(t,1),h.splice(t,1),s.options.data.splice(t,1),s.updateParallelArrays(r||{series:s},"splice",[t,1]),r&&r.destroy(),s.isDirty=!0,s.isDirtyData=!0,i&&o.redraw()};d(e,o),i=R(i,!0),r?r.firePointEvent("remove",null,a):a()}remove(t,i,e,s){let h=this,r=h.chart;function n(){h.destroy(s),r.isDirtyLegend=r.isDirtyBox=!0,r.linkSeries(s),R(t,!0)&&r.redraw(i)}!1!==e?j(h,"remove",null,n):n()}update(t,i){j(this,"update",{options:t=S(t,this.userOptions)});let e,s,h=this,r=h.chart,n=h.userOptions,o=h.initialType||h.type,a=r.options.plotOptions,l=m[o].prototype,c=h.finishedAnimating&&{animation:!1},d={},u=["colorIndex","eventOptions","navigatorSeries","symbolIndex","baseSeries"],f=t.type||n.type||r.options.chart.type,p=!(this.hasDerivedData||f&&f!==this.type||void 0!==t.pointStart||void 0!==t.pointInterval||void 0!==t.relativeXValue||t.joinBy||t.mapData||["dataGrouping","pointStart","pointInterval","pointIntervalUnit","keys"].some((t=>h.hasOptionChanged(t))));f=f||o,p&&(u.push("data","isDirtyData","isDirtyCanvas","points","processedData","processedXData","processedYData","xIncrement","cropped","_hasPointMarkers","hasDataLabels","nodes","layout","level","mapMap","mapData","minY","maxY","minX","maxX","transformGroups"),!1!==t.visible&&u.push("area","graph"),h.parallelArrays.forEach((function(t){u.push(t+"Data")})),t.data&&(t.dataSorting&&L(h.options.dataSorting,t.dataSorting),this.setData(t.data,!1))),t=I(n,{index:void 0===n.index?h.index:n.index,pointStart:a?.series?.pointStart??n.pointStart??h.xData?.[0]},!p&&{data:h.options.data},t,c),p&&t.data&&(t.data=h.options.data),(u=["group","markerGroup","dataLabelsGroup","transformGroup"].concat(u)).forEach((function(t){u[t]=h[t],delete h[t]}));let g=!1;if(m[f]){if(g=f!==h.type,h.remove(!1,!1,!1,!0),g)if(r.propFromSeries(),Object.setPrototypeOf)Object.setPrototypeOf(h,m[f].prototype);else{let t=Object.hasOwnProperty.call(h,"hcEvents")&&h.hcEvents;for(s in l)h[s]=void 0;L(h,m[f].prototype),t?h.hcEvents=t:delete h.hcEvents}}else A(17,!0,r,{missingModuleFor:f});if(u.forEach((function(t){h[t]=u[t]})),h.init(r,t),p&&this.points)for(let t of(!1===(e=h.options).visible?(d.graphic=1,d.dataLabel=1):(this.hasMarkerChanged(e,n)&&(d.graphic=1),h.hasDataLabels?.()||(d.dataLabel=1)),this.points))t&&t.series&&(t.resolveColor(),Object.keys(d).length&&t.destroyElements(d),!1===e.showInLegend&&t.legendItem&&r.legend.destroyItem(t));h.initialType=o,r.linkSeries(),r.setSortedData(),g&&h.linkedSeries.length&&(h.isDirtyData=!0),j(this,"afterUpdate"),R(i,!0)&&r.redraw(!!p&&void 0)}setName(t){this.name=this.options.name=this.userOptions.name=t,this.chart.isDirtyLegend=!0}hasOptionChanged(t){let i=this.options[t],e=this.chart.options.plotOptions,s=this.userOptions[t],h=R(e?.[this.type]?.[t],e?.series?.[t]);return s&&!w(h)?i!==s:i!==R(h,i)}onMouseOver(){let t=this.chart,i=t.hoverSeries;t.pointer?.setHoverChartIndex(),i&&i!==this&&i.onMouseOut(),this.options.events.mouseOver&&j(this,"mouseOver"),this.setState("hover"),t.hoverSeries=this}onMouseOut(){let t=this.options,i=this.chart,e=i.tooltip,s=i.hoverPoint;i.hoverSeries=null,s&&s.onMouseOut(),this&&t.events.mouseOut&&j(this,"mouseOut"),e&&!this.stickyTracking&&(!e.shared||this.noSharedTooltip)&&e.hide(),i.series.forEach((function(t){t.setState("",!0)}))}setState(t,i){let e=this,s=e.options,h=e.graph,r=s.inactiveOtherPoints,n=s.states,o=R(n[t||"normal"]&&n[t||"normal"].animation,e.chart.options.chart.animation),a=s.lineWidth,l=s.opacity;if(e.state!==(t=t||"")&&([e.group,e.markerGroup,e.dataLabelsGroup].forEach((function(i){i&&(e.state&&i.removeClass("highcharts-series-"+e.state),t&&i.addClass("highcharts-series-"+t))})),e.state=t,!e.chart.styledMode)){if(n[t]&&!1===n[t].enabled)return;if(t&&(a=n[t].lineWidth||a+(n[t].lineWidthPlus||0),l=R(n[t].opacity,l)),h&&!h.dashstyle&&D(a))for(let t of[h,...this.zones.map((t=>t.graph))])t?.animate({"stroke-width":a},o);r||[e.group,e.markerGroup,e.dataLabelsGroup,e.labelBySeries].forEach((function(t){t&&t.animate({opacity:l},o)}))}i&&r&&e.points&&e.setAllPointsToState(t||void 0)}setAllPointsToState(t){this.points.forEach((function(i){i.setState&&i.setState(t)}))}setVisible(t,i){let e=this,s=e.chart,h=s.options.chart.ignoreHiddenSeries;e.visible=t=e.options.visible=e.userOptions.visible=void 0===t?!e.visible:t;let r=t?"show":"hide";["group","dataLabelsGroup","markerGroup","tracker","tt"].forEach((t=>{e[t]?.[r]()})),(s.hoverSeries===e||s.hoverPoint?.series===e)&&e.onMouseOut(),e.legendItem&&s.legend.colorizeItem(e,t),e.isDirty=!0,e.options.stacking&&s.series.forEach((t=>{t.options.stacking&&t.visible&&(t.isDirty=!0)})),e.linkedSeries.forEach((i=>{i.setVisible(t,!1)})),h&&(s.isDirtyBox=!0),j(e,r),!1!==i&&s.redraw()}show(){this.setVisible(!0)}hide(){this.setVisible(!1)}select(t){this.selected=t=this.options.selected=void 0===t?!this.selected:t,this.checkbox&&(this.checkbox.checked=t),j(this,t?"select":"unselect")}shouldShowTooltip(t,i,e={}){return e.series=this,e.visiblePlotOnly=!0,this.chart.isInsidePlot(t,i,e)}drawLegendSymbol(t,i){h[this.options.legendSymbol||"rectangle"]?.call(this,t,i)}}return X.defaultOptions=n,X.types=o.seriesTypes,X.registerType=o.registerSeriesType,L(X.prototype,{axisTypes:["xAxis","yAxis"],coll:"series",colorCounter:0,directTouch:!1,invertible:!0,isCartesian:!0,kdAxisArray:["clientX","plotY"],parallelArrays:["x","y"],pointClass:r,requireSorting:!0,sorted:!0}),o.series=X,X})),e(i,"Core/Legend/Legend.js",[i["Core/Animation/AnimationUtilities.js"],i["Core/Foundation.js"],i["Core/Globals.js"],i["Core/Series/Series.js"],i["Core/Series/Point.js"],i["Core/Renderer/RendererUtilities.js"],i["Core/Templating.js"],i["Core/Utilities.js"]],(function(t,i,e,s,h,r,n,o){var a;let{animObject:l,setAnimation:c}=t,{registerEventOptions:d}=i,{composed:u,marginNames:f}=e,{distribute:p}=r,{format:g}=n,{addEvent:m,createElement:b,css:x,defined:v,discardElement:y,find:M,fireEvent:w,isNumber:k,merge:S,pick:O,pushUnique:A,relativeLength:L,stableSort:C,syncTimeout:j}=o;class T{constructor(t,i){this.allItems=[],this.initialItemY=0,this.itemHeight=0,this.itemMarginBottom=0,this.itemMarginTop=0,this.itemX=0,this.itemY=0,this.lastItemY=0,this.lastLineHeight=0,this.legendHeight=0,this.legendWidth=0,this.maxItemWidth=0,this.maxLegendWidth=0,this.offsetWidth=0,this.padding=0,this.pages=[],this.symbolHeight=0,this.symbolWidth=0,this.titleHeight=0,this.totalItemWidth=0,this.widthOption=0,this.chart=t,this.setOptions(i),i.enabled&&(this.render(),d(this,i),m(this.chart,"endResize",(function(){this.legend.positionCheckboxes()}))),m(this.chart,"render",(()=>{this.options.enabled&&this.proximate&&(this.proximatePositions(),this.positionItems())}))}setOptions(t){let i=O(t.padding,8);this.options=t,this.chart.styledMode||(this.itemStyle=t.itemStyle,this.itemHiddenStyle=S(this.itemStyle,t.itemHiddenStyle)),this.itemMarginTop=t.itemMarginTop,this.itemMarginBottom=t.itemMarginBottom,this.padding=i,this.initialItemY=i-5,this.symbolWidth=O(t.symbolWidth,16),this.pages=[],this.proximate="proximate"===t.layout&&!this.chart.inverted,this.baseline=void 0}update(t,i){let e=this.chart;this.setOptions(S(!0,this.options,t)),"events"in this.options&&d(this,this.options),this.destroy(),e.isDirtyLegend=e.isDirtyBox=!0,O(i,!0)&&e.redraw(),w(this,"afterUpdate",{redraw:i})}colorizeItem(t,i){let{area:e,group:s,label:h,line:r,symbol:n}=t.legendItem||{};if(s?.[i?"removeClass":"addClass"]("highcharts-legend-item-hidden"),!this.chart.styledMode){let{itemHiddenStyle:s={}}=this,o=s.color,{fillColor:a,fillOpacity:l,lineColor:c,marker:d}=t.options,u=t=>(!i&&(t.fill&&(t.fill=o),t.stroke&&(t.stroke=o)),t);h?.css(S(i?this.itemStyle:s)),r?.attr(u({stroke:c||t.color})),n&&n.attr(u(d&&n.isMarker?t.pointAttribs():{fill:t.color})),e?.attr(u({fill:a||t.color,"fill-opacity":a?1:l??.75}))}w(this,"afterColorizeItem",{item:t,visible:i})}positionItems(){this.allItems.forEach(this.positionItem,this),this.chart.isResizing||this.positionCheckboxes()}positionItem(t){let{group:i,x:e=0,y:s=0}=t.legendItem||{},h=this.options,r=h.symbolPadding,n=!h.rtl,o=t.checkbox;if(i&&i.element){let h={translateX:n?e:this.legendWidth-e-2*r-4,translateY:s};i[v(i.translateY)?"animate":"attr"](h,void 0,(()=>{w(this,"afterPositionItem",{item:t})}))}o&&(o.x=e,o.y=s)}destroyItem(t){let i=t.checkbox,e=t.legendItem||{};for(let t of["group","label","line","symbol"])e[t]&&(e[t]=e[t].destroy());i&&y(i),t.legendItem=void 0}destroy(){for(let t of this.getAllItems())this.destroyItem(t);for(let t of["clipRect","up","down","pager","nav","box","title","group"])this[t]&&(this[t]=this[t].destroy());this.display=null}positionCheckboxes(){let t,i=this.group&&this.group.alignAttr,e=this.clipHeight||this.legendHeight,s=this.titleHeight;i&&(t=i.translateY,this.allItems.forEach((function(h){let r,n=h.checkbox;n&&(r=t+s+n.y+(this.scrollOffset||0)+3,x(n,{left:i.translateX+h.checkboxOffset+n.x-20+"px",top:r+"px",display:this.proximate||r>t-6&&r<t+e-6?"":"none"}))}),this))}renderTitle(){let t,i=this.options,e=this.padding,s=i.title,h=0;s.text&&(this.title||(this.title=this.chart.renderer.label(s.text,e-3,e-4,void 0,void 0,void 0,i.useHTML,void 0,"legend-title").attr({zIndex:1}),this.chart.styledMode||this.title.css(s.style),this.title.add(this.group)),s.width||this.title.css({width:this.maxLegendWidth+"px"}),h=(t=this.title.getBBox()).height,this.offsetWidth=t.width,this.contentGroup.attr({translateY:h})),this.titleHeight=h}setText(t){let i=this.options;t.legendItem.label.attr({text:i.labelFormat?g(i.labelFormat,t,this.chart):i.labelFormatter.call(t)})}renderItem(t){let i=t.legendItem=t.legendItem||{},e=this.chart,s=e.renderer,h=this.options,r=this.symbolWidth,n=h.symbolPadding||0,o=this.itemStyle,a=this.itemHiddenStyle,l="horizontal"===h.layout?O(h.itemDistance,20):0,c=!h.rtl,d=!t.series,u=!d&&t.series.drawLegendSymbol?t.series:t,f=u.options,p=!!this.createCheckboxForItem&&f&&f.showCheckbox,g=h.useHTML,m=t.options.className,b=i.label,x=r+n+l+(p?20:0);!b&&(i.group=s.g("legend-item").addClass("highcharts-"+u.type+"-series highcharts-color-"+t.colorIndex+(m?" "+m:"")+(d?" highcharts-series-"+t.index:"")).attr({zIndex:1}).add(this.scrollGroup),i.label=b=s.text("",c?r+n:-n,this.baseline||0,g),e.styledMode||b.css(S(t.visible?o:a)),b.attr({align:c?"left":"right",zIndex:2}).add(i.group),!this.baseline&&(this.fontMetrics=s.fontMetrics(b),this.baseline=this.fontMetrics.f+3+this.itemMarginTop,b.attr("y",this.baseline),this.symbolHeight=O(h.symbolHeight,this.fontMetrics.f),h.squareSymbol&&(this.symbolWidth=O(h.symbolWidth,Math.max(this.symbolHeight,16)),x=this.symbolWidth+n+l+(p?20:0),c&&b.attr("x",this.symbolWidth+n))),u.drawLegendSymbol(this,t),this.setItemEvents&&this.setItemEvents(t,b,g)),p&&!t.checkbox&&this.createCheckboxForItem&&this.createCheckboxForItem(t),this.colorizeItem(t,t.visible),(e.styledMode||!o.width)&&b.css({width:(h.itemWidth||this.widthOption||e.spacingBox.width)-x+"px"}),this.setText(t);let v=b.getBBox(),y=this.fontMetrics&&this.fontMetrics.h||0;t.itemWidth=t.checkboxOffset=h.itemWidth||i.labelWidth||v.width+x,this.maxItemWidth=Math.max(this.maxItemWidth,t.itemWidth),this.totalItemWidth+=t.itemWidth,this.itemHeight=t.itemHeight=Math.round(i.labelHeight||(v.height>1.5*y?v.height:y))}layoutItem(t){let i=this.options,e=this.padding,s="horizontal"===i.layout,h=t.itemHeight,r=this.itemMarginBottom,n=this.itemMarginTop,o=s?O(i.itemDistance,20):0,a=this.maxLegendWidth,l=i.alignColumns&&this.totalItemWidth>a?this.maxItemWidth:t.itemWidth,c=t.legendItem||{};s&&this.itemX-e+l>a&&(this.itemX=e,this.lastLineHeight&&(this.itemY+=n+this.lastLineHeight+r),this.lastLineHeight=0),this.lastItemY=n+this.itemY+r,this.lastLineHeight=Math.max(h,this.lastLineHeight),c.x=this.itemX,c.y=this.itemY,s?this.itemX+=l:(this.itemY+=n+h+r,this.lastLineHeight=h),this.offsetWidth=this.widthOption||Math.max((s?this.itemX-e-(t.checkbox?0:o):l)+e,this.offsetWidth)}getAllItems(){let t=[];return this.chart.series.forEach((function(i){let e=i&&i.options;i&&O(e.showInLegend,!v(e.linkedTo)&&void 0,!0)&&(t=t.concat((i.legendItem||{}).labels||("point"===e.legendType?i.data:i)))})),w(this,"afterGetAllItems",{allItems:t}),t}getAlignment(){let t=this.options;return this.proximate?t.align.charAt(0)+"tv":t.floating?"":t.align.charAt(0)+t.verticalAlign.charAt(0)+t.layout.charAt(0)}adjustMargins(t,i){let e=this.chart,s=this.options,h=this.getAlignment();h&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/].forEach((function(r,n){r.test(h)&&!v(t[n])&&(e[f[n]]=Math.max(e[f[n]],e.legend[(n+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][n]*s[n%2?"x":"y"]+O(s.margin,12)+i[n]+(e.titleOffset[n]||0)))}))}proximatePositions(){let t,i=this.chart,e=[],s="left"===this.options.align;for(let h of(this.allItems.forEach((function(t){let h,r,n,o,a=s;t.yAxis&&(t.xAxis.options.reversed&&(a=!a),t.points&&(h=M(a?t.points:t.points.slice(0).reverse(),(function(t){return k(t.plotY)}))),r=this.itemMarginTop+t.legendItem.label.getBBox().height+this.itemMarginBottom,o=t.yAxis.top-i.plotTop,n=t.visible?(h?h.plotY:t.yAxis.height)+(o-.3*r):o+t.yAxis.height,e.push({target:n,size:r,item:t}))}),this),p(e,i.plotHeight)))t=h.item.legendItem||{},k(h.pos)&&(t.y=i.plotTop-i.spacing[0]+h.pos)}render(){let t,i,e,s,h=this.chart,r=h.renderer,n=this.options,o=this.padding,a=this.getAllItems(),l=this.group,c=this.box;this.itemX=o,this.itemY=this.initialItemY,this.offsetWidth=0,this.lastItemY=0,this.widthOption=L(n.width,h.spacingBox.width-o),s=h.spacingBox.width-2*o-n.x,["rm","lm"].indexOf(this.getAlignment().substring(0,2))>-1&&(s/=2),this.maxLegendWidth=this.widthOption||s,l||(this.group=l=r.g("legend").addClass(n.className||"").attr({zIndex:7}).add(),this.contentGroup=r.g().attr({zIndex:1}).add(l),this.scrollGroup=r.g().add(this.contentGroup)),this.renderTitle(),C(a,((t,i)=>(t.options&&t.options.legendIndex||0)-(i.options&&i.options.legendIndex||0))),n.reversed&&a.reverse(),this.allItems=a,this.display=t=!!a.length,this.lastLineHeight=0,this.maxItemWidth=0,this.totalItemWidth=0,this.itemHeight=0,a.forEach(this.renderItem,this),a.forEach(this.layoutItem,this),i=(this.widthOption||this.offsetWidth)+o,e=this.lastItemY+this.lastLineHeight+this.titleHeight,e=this.handleOverflow(e)+o,c||(this.box=c=r.rect().addClass("highcharts-legend-box").attr({r:n.borderRadius}).add(l)),h.styledMode||c.attr({stroke:n.borderColor,"stroke-width":n.borderWidth||0,fill:n.backgroundColor||"none"}).shadow(n.shadow),i>0&&e>0&&c[c.placed?"animate":"attr"](c.crisp.call({},{x:0,y:0,width:i,height:e},c.strokeWidth())),l[t?"show":"hide"](),h.styledMode&&"none"===l.getStyle("display")&&(i=e=0),this.legendWidth=i,this.legendHeight=e,t&&this.align(),this.proximate||this.positionItems(),w(this,"afterRender")}align(t=this.chart.spacingBox){let i=this.chart,e=this.options,s=t.y;/(lth|ct|rth)/.test(this.getAlignment())&&i.titleOffset[0]>0?s+=i.titleOffset[0]:/(lbh|cb|rbh)/.test(this.getAlignment())&&i.titleOffset[2]>0&&(s-=i.titleOffset[2]),s!==t.y&&(t=S(t,{y:s})),i.hasRendered||(this.group.placed=!1),this.group.align(S(e,{width:this.legendWidth,height:this.legendHeight,verticalAlign:this.proximate?"top":e.verticalAlign}),!0,t)}handleOverflow(t){let i,e,s,h=this,r=this.chart,n=r.renderer,o=this.options,a=o.y,l="top"===o.verticalAlign,c=this.padding,d=o.maxHeight,u=o.navigation,f=O(u.animation,!0),p=u.arrowSize||12,g=this.pages,m=this.allItems,b=function(t){"number"==typeof t?M.attr({height:t}):M&&(h.clipRect=M.destroy(),h.contentGroup.clip()),h.contentGroup.div&&(h.contentGroup.div.style.clip=t?"rect("+c+"px,9999px,"+(c+t)+"px,0)":"auto")},x=function(t){return h[t]=n.circle(0,0,1.3*p).translate(p/2,p/2).add(y),r.styledMode||h[t].attr("fill","rgba(0,0,0,0.0001)"),h[t]},v=r.spacingBox.height+(l?-a:a)-c,y=this.nav,M=this.clipRect;return"horizontal"!==o.layout||"middle"===o.verticalAlign||o.floating||(v/=2),d&&(v=Math.min(v,d)),g.length=0,t&&v>0&&t>v&&!1!==u.enabled?(this.clipHeight=i=Math.max(v-20-this.titleHeight-c,0),this.currentPage=O(this.currentPage,1),this.fullHeight=t,m.forEach(((t,h)=>{let r=(s=t.legendItem||{}).y||0,n=Math.round(s.label.getBBox().height),o=g.length;(!o||r-g[o-1]>i&&(e||r)!==g[o-1])&&(g.push(e||r),o++),s.pageIx=o-1,e&&((m[h-1].legendItem||{}).pageIx=o-1),h===m.length-1&&r+n-g[o-1]>i&&r>g[o-1]&&(g.push(r),s.pageIx=o),r!==e&&(e=r)})),M||(M=h.clipRect=n.clipRect(0,c-2,9999,0),h.contentGroup.clip(M)),b(i),y||(this.nav=y=n.g().attr({zIndex:1}).add(this.group),this.up=n.symbol("triangle",0,0,p,p).add(y),x("upTracker").on("click",(function(){h.scroll(-1,f)})),this.pager=n.text("",15,10).addClass("highcharts-legend-navigation"),!r.styledMode&&u.style&&this.pager.css(u.style),this.pager.add(y),this.down=n.symbol("triangle-down",0,0,p,p).add(y),x("downTracker").on("click",(function(){h.scroll(1,f)}))),h.scroll(0),t=v):y&&(b(),this.nav=y.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0),t}scroll(t,i){let e=this.chart,s=this.pages,h=s.length,r=this.clipHeight,n=this.options.navigation,o=this.pager,a=this.padding,d=this.currentPage+t;d>h&&(d=h),d>0&&(void 0!==i&&c(i,e),this.nav.attr({translateX:a,translateY:r+this.padding+7+this.titleHeight,visibility:"inherit"}),[this.up,this.upTracker].forEach((function(t){t.attr({class:1===d?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})})),o.attr({text:d+"/"+h}),[this.down,this.downTracker].forEach((function(t){t.attr({x:18+this.pager.getBBox().width,class:d===h?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})}),this),e.styledMode||(this.up.attr({fill:1===d?n.inactiveColor:n.activeColor}),this.upTracker.css({cursor:1===d?"default":"pointer"}),this.down.attr({fill:d===h?n.inactiveColor:n.activeColor}),this.downTracker.css({cursor:d===h?"default":"pointer"})),this.scrollOffset=-s[d-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),this.currentPage=d,this.positionCheckboxes(),j((()=>{w(this,"afterScroll",{currentPage:d})}),l(O(i,e.renderer.globalAnimation,!0)).duration))}setItemEvents(t,i,e){let r=this,n=t.legendItem||{},o=r.chart.renderer.boxWrapper,a=t instanceof h,l=t instanceof s,c="highcharts-legend-"+(a?"point":"series")+"-active",d=r.chart.styledMode,u=e?[i,n.symbol]:[n.group],f=i=>{r.allItems.forEach((e=>{t!==e&&[e].concat(e.linkedSeries||[]).forEach((t=>{t.setState(i,!a)}))}))};for(let e of u)e&&e.on("mouseover",(function(){t.visible&&f("inactive"),t.setState("hover"),t.visible&&o.addClass(c),d||i.css(r.options.itemHoverStyle)})).on("mouseout",(function(){r.chart.styledMode||i.css(S(t.visible?r.itemStyle:r.itemHiddenStyle)),f(""),o.removeClass(c),t.setState()})).on("click",(function(i){o.removeClass(c),w(r,"itemClick",{browserEvent:i,legendItem:t},(function(){t.setVisible&&t.setVisible(),f(t.visible?"inactive":"")})),a?t.firePointEvent("legendItemClick",{browserEvent:i}):l&&w(t,"legendItemClick",{browserEvent:i})}))}createCheckboxForItem(t){t.checkbox=b("input",{type:"checkbox",className:"highcharts-legend-checkbox",checked:t.selected,defaultChecked:t.selected},this.options.itemCheckboxStyle,this.chart.container),m(t.checkbox,"click",(function(i){w(t.series||t,"checkboxClick",{checked:i.target.checked,item:t},(function(){t.select()}))}))}}return(a=T||(T={})).compose=function(t){A(u,"Core.Legend")&&m(t,"beforeMargins",(function(){this.legend=new a(this,this.options.legend)}))},T})),e(i,"Core/Chart/Chart.js",[i["Core/Animation/AnimationUtilities.js"],i["Core/Axis/Axis.js"],i["Core/Defaults.js"],i["Core/Templating.js"],i["Core/Foundation.js"],i["Core/Globals.js"],i["Core/Renderer/RendererRegistry.js"],i["Core/Series/Series.js"],i["Core/Series/SeriesRegistry.js"],i["Core/Renderer/SVG/SVGRenderer.js"],i["Core/Time.js"],i["Core/Utilities.js"],i["Core/Renderer/HTML/AST.js"],i["Core/Axis/Tick.js"]],(function(t,i,e,s,h,r,n,o,a,l,c,d,u,f){let{animate:p,animObject:g,setAnimation:m}=t,{defaultOptions:b,defaultTime:x}=e,{numberFormat:v}=s,{registerEventOptions:y}=h,{charts:M,doc:w,marginNames:k,svg:S,win:O}=r,{seriesTypes:A}=a,{addEvent:L,attr:C,createElement:j,css:T,defined:P,diffObjects:E,discardElement:z,erase:D,error:N,extend:I,find:F,fireEvent:R,getStyle:B,isArray:Y,isNumber:G,isObject:X,isString:$,merge:H,objectEach:W,pick:U,pInt:q,relativeLength:V,removeEvent:Z,splat:_,syncTimeout:K,uniqueKey:J}=d;class Q{static chart(t,i,e){return new Q(t,i,e)}constructor(t,i,e){this.sharedClips={};let s=[...arguments];($(t)||t.nodeName)&&(this.renderTo=s.shift()),this.init(s[0],s[1])}setZoomOptions(){let t=this.options.chart,i=t.zooming;this.zooming={...i,type:U(t.zoomType,i.type),key:U(t.zoomKey,i.key),pinchType:U(t.pinchType,i.pinchType),singleTouch:U(t.zoomBySingleTouch,i.singleTouch,!1),resetButton:H(i.resetButton,t.resetZoomButton)}}init(t,i){R(this,"init",{args:arguments},(function(){let e=H(b,t),s=e.chart;this.userOptions=I({},t),this.margin=[],this.spacing=[],this.labelCollectors=[],this.callback=i,this.isResizing=0,this.options=e,this.axes=[],this.series=[],this.time=t.time&&Object.keys(t.time).length?new c(t.time):r.time,this.numberFormatter=s.numberFormatter||v,this.styledMode=s.styledMode,this.hasCartesianSeries=s.showAxes,this.index=M.length,M.push(this),r.chartCount++,y(this,s),this.xAxis=[],this.yAxis=[],this.pointCount=this.colorCounter=this.symbolCounter=0,this.setZoomOptions(),R(this,"afterInit"),this.firstRender()}))}initSeries(t){let i=t.type||this.options.chart.type,e=A[i];e||N(17,!0,this,{missingModuleFor:i});let s=new e;return"function"==typeof s.init&&s.init(this,t),s}setSortedData(){this.getSeriesOrderByLinks().forEach((function(t){t.points||t.data||!t.enabledDataSorting||t.setData(t.options.data,!1)}))}getSeriesOrderByLinks(){return this.series.concat().sort((function(t,i){return t.linkedSeries.length||i.linkedSeries.length?i.linkedSeries.length-t.linkedSeries.length:0}))}orderItems(t,i=0){let e=this[t],s=this.options[t]=_(this.options[t]).slice(),h=this.userOptions[t]=this.userOptions[t]?_(this.userOptions[t]).slice():[];if(this.hasRendered&&(s.splice(i),h.splice(i)),e)for(let t=i,r=e.length;t<r;++t){let i=e[t];i&&(i.index=t,i instanceof o&&(i.name=i.getName()),i.options.isInternal||(s[t]=i.options,h[t]=i.userOptions))}}isInsidePlot(t,i,e={}){let{inverted:s,plotBox:h,plotLeft:r,plotTop:n,scrollablePlotBox:o}=this,{scrollLeft:a=0,scrollTop:l=0}=e.visiblePlotOnly&&this.scrollablePlotArea?.scrollingContainer||{},c=e.series,d=e.visiblePlotOnly&&o||h,u=e.inverted?i:t,f=e.inverted?t:i,p={x:u,y:f,isInsidePlot:!0,options:e};if(!e.ignoreX){let t=c&&(s&&!this.polar?c.yAxis:c.xAxis)||{pos:r,len:1/0},i=e.paneCoordinates?t.pos+u:r+u;i>=Math.max(a+r,t.pos)&&i<=Math.min(a+r+d.width,t.pos+t.len)||(p.isInsidePlot=!1)}if(!e.ignoreY&&p.isInsidePlot){let t=!s&&e.axis&&!e.axis.isXAxis&&e.axis||c&&(s?c.xAxis:c.yAxis)||{pos:n,len:1/0},i=e.paneCoordinates?t.pos+f:n+f;i>=Math.max(l+n,t.pos)&&i<=Math.min(l+n+d.height,t.pos+t.len)||(p.isInsidePlot=!1)}return R(this,"afterIsInsidePlot",p),p.isInsidePlot}redraw(t){R(this,"beforeRedraw");let i,e,s,h,r=this.hasCartesianSeries?this.axes:this.colorAxis||[],n=this.series,o=this.pointer,a=this.legend,l=this.userOptions.legend,c=this.renderer,d=c.isHidden(),u=[],f=this.isDirtyBox,p=this.isDirtyLegend;for(c.rootFontSize=c.boxWrapper.getStyle("font-size"),this.setResponsive&&this.setResponsive(!1),m(!!this.hasRendered&&t,this),d&&this.temporaryDisplay(),this.layOutTitles(!1),s=n.length;s--;)if(((h=n[s]).options.stacking||h.options.centerInCategory)&&(e=!0,h.isDirty)){i=!0;break}if(i)for(s=n.length;s--;)(h=n[s]).options.stacking&&(h.isDirty=!0);n.forEach((function(t){t.isDirty&&("point"===t.options.legendType?("function"==typeof t.updateTotals&&t.updateTotals(),p=!0):l&&(l.labelFormatter||l.labelFormat)&&(p=!0)),t.isDirtyData&&R(t,"updatedData")})),p&&a&&a.options.enabled&&(a.render(),this.isDirtyLegend=!1),e&&this.getStacks(),r.forEach((function(t){t.updateNames(),t.setScale()})),this.getMargins(),r.forEach((function(t){t.isDirty&&(f=!0)})),r.forEach((function(t){let i=t.min+","+t.max;t.extKey!==i&&(t.extKey=i,u.push((function(){R(t,"afterSetExtremes",I(t.eventArgs,t.getExtremes())),delete t.eventArgs}))),(f||e)&&t.redraw()})),f&&this.drawChartBox(),R(this,"predraw"),n.forEach((function(t){(f||t.isDirty)&&t.visible&&t.redraw(),t.isDirtyData=!1})),o&&o.reset(!0),c.draw(),R(this,"redraw"),R(this,"render"),d&&this.temporaryDisplay(!0),u.forEach((function(t){t.call()}))}get(t){let i=this.series;function e(i){return i.id===t||i.options&&i.options.id===t}let s=F(this.axes,e)||F(this.series,e);for(let t=0;!s&&t<i.length;t++)s=F(i[t].points||[],e);return s}getAxes(){let t=this.userOptions;for(let e of(R(this,"getAxes"),["xAxis","yAxis"]))for(let s of t[e]=_(t[e]||{}))new i(this,s,e);R(this,"afterGetAxes")}getSelectedPoints(){return this.series.reduce(((t,i)=>(i.getPointsCollection().forEach((i=>{U(i.selectedStaging,i.selected)&&t.push(i)})),t)),[])}getSelectedSeries(){return this.series.filter((function(t){return t.selected}))}setTitle(t,i,e){this.applyDescription("title",t),this.applyDescription("subtitle",i),this.applyDescription("caption",void 0),this.layOutTitles(e)}applyDescription(t,i){let e=this,s=this.options[t]=H(this.options[t],i),h=this[t];h&&i&&(this[t]=h=h.destroy()),s&&!h&&((h=this.renderer.text(s.text,0,0,s.useHTML).attr({align:s.align,class:"highcharts-"+t,zIndex:s.zIndex||4}).add()).update=function(i,s){e.applyDescription(t,i),e.layOutTitles(s)},this.styledMode||h.css(I("title"===t?{fontSize:this.options.isStock?"1em":"1.2em"}:{},s.style)),this[t]=h)}layOutTitles(t=!0){let i=[0,0,0],e=this.renderer,s=this.spacingBox;["title","subtitle","caption"].forEach((function(t){let h=this[t],r=this.options[t],n=r.verticalAlign||"top",o="title"===t?"top"===n?-3:0:"top"===n?i[0]+2:0;if(h){h.css({width:(r.width||s.width+(r.widthAdjust||0))+"px"});let t=e.fontMetrics(h).b,a=Math.round(h.getBBox(r.useHTML).height);h.align(I({y:"bottom"===n?t:o+t,height:a},r),!1,"spacingBox"),r.floating||("top"===n?i[0]=Math.ceil(i[0]+a):"bottom"===n&&(i[2]=Math.ceil(i[2]+a)))}}),this),i[0]&&"top"===(this.options.title.verticalAlign||"top")&&(i[0]+=this.options.title.margin),i[2]&&"bottom"===this.options.caption.verticalAlign&&(i[2]+=this.options.caption.margin);let h=!this.titleOffset||this.titleOffset.join(",")!==i.join(",");this.titleOffset=i,R(this,"afterLayOutTitles"),!this.isDirtyBox&&h&&(this.isDirtyBox=this.isDirtyLegend=h,this.hasRendered&&t&&this.isDirtyBox&&this.redraw())}getContainerBox(){let t=[].map.call(this.renderTo.children,(t=>{if(t!==this.container){let i=t.style.display;return t.style.display="none",[t,i]}})),i={width:B(this.renderTo,"width",!0)||0,height:B(this.renderTo,"height",!0)||0};return t.filter(Boolean).forEach((([t,i])=>{t.style.display=i})),i}getChartSize(){let t=this.options.chart,i=t.width,e=t.height,s=this.getContainerBox(),h=s.height>1&&!(!this.renderTo.parentElement?.style.height&&"100%"===this.renderTo.style.height);this.chartWidth=Math.max(0,i||s.width||600),this.chartHeight=Math.max(0,V(e,this.chartWidth)||(h?s.height:400)),this.containerBox=s}temporaryDisplay(t){let i,e=this.renderTo;if(t)for(;e&&e.style;)e.hcOrigStyle&&(T(e,e.hcOrigStyle),delete e.hcOrigStyle),e.hcOrigDetached&&(w.body.removeChild(e),e.hcOrigDetached=!1),e=e.parentNode;else for(;e&&e.style&&(w.body.contains(e)||e.parentNode||(e.hcOrigDetached=!0,w.body.appendChild(e)),("none"===B(e,"display",!1)||e.hcOricDetached)&&(e.hcOrigStyle={display:e.style.display,height:e.style.height,overflow:e.style.overflow},i={display:"block",overflow:"hidden"},e!==this.renderTo&&(i.height=0),T(e,i),e.offsetWidth||e.style.setProperty("display","block","important")),(e=e.parentNode)!==w.body););}setClassName(t){this.container.className="highcharts-container "+(t||"")}getContainer(){let t,i=this.options,e=i.chart,s="data-highcharts-chart",h=J(),r=this.renderTo;r||(this.renderTo=r=e.renderTo),$(r)&&(this.renderTo=r=w.getElementById(r)),r||N(13,!0,this);let o=q(C(r,s));G(o)&&M[o]&&M[o].hasRendered&&M[o].destroy(),C(r,s,this.index),r.innerHTML=u.emptyHTML,e.skipClone||r.offsetWidth||this.temporaryDisplay(),this.getChartSize();let a=this.chartHeight,c=this.chartWidth;T(r,{overflow:"hidden"}),this.styledMode||(t=I({position:"relative",overflow:"hidden",width:c+"px",height:a+"px",textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)",userSelect:"none","touch-action":"manipulation",outline:"none",padding:"0px"},e.style||{}));let d=j("div",{id:h},t,r);this.container=d,this.getChartSize(),c===this.chartWidth||(c=this.chartWidth,this.styledMode||T(d,{width:U(e.style?.width,c+"px")})),this.containerBox=this.getContainerBox(),this._cursor=d.style.cursor;let f=e.renderer||!S?n.getRendererType(e.renderer):l;if(this.renderer=new f(d,c,a,void 0,e.forExport,i.exporting&&i.exporting.allowHTML,this.styledMode),m(void 0,this),this.setClassName(e.className),this.styledMode)for(let t in i.defs)this.renderer.definition(i.defs[t]);else this.renderer.setStyle(e.style);this.renderer.chartIndex=this.index,R(this,"afterGetContainer")}getMargins(t){let{spacing:i,margin:e,titleOffset:s}=this;this.resetMargins(),s[0]&&!P(e[0])&&(this.plotTop=Math.max(this.plotTop,s[0]+i[0])),s[2]&&!P(e[2])&&(this.marginBottom=Math.max(this.marginBottom,s[2]+i[2])),this.legend&&this.legend.display&&this.legend.adjustMargins(e,i),R(this,"getMargins"),t||this.getAxisMargins()}getAxisMargins(){let t=this,i=t.axisOffset=[0,0,0,0],e=t.colorAxis,s=t.margin,h=function(t){t.forEach((function(t){t.visible&&t.getOffset()}))};t.hasCartesianSeries?h(t.axes):e&&e.length&&h(e),k.forEach((function(e,h){P(s[h])||(t[e]+=i[h])})),t.setChartSize()}getOptions(){return E(this.userOptions,b)}reflow(t){let i=this,e=i.containerBox,s=i.getContainerBox();delete i.pointer?.chartPosition,!i.isPrinting&&!i.isResizing&&e&&s.width&&((s.width!==e.width||s.height!==e.height)&&(d.clearTimeout(i.reflowTimeout),i.reflowTimeout=K((function(){i.container&&i.setSize(void 0,void 0,!1)}),t?100:0)),i.containerBox=s)}setReflow(){let t=this,i=i=>{t.options?.chart.reflow&&t.hasLoaded&&t.reflow(i)};if("function"==typeof ResizeObserver)new ResizeObserver(i).observe(t.renderTo);else{let t=L(O,"resize",i);L(this,"destroy",t)}}setSize(t,i,e){let s=this,h=s.renderer;s.isResizing+=1,m(e,s);let r=h.globalAnimation;s.oldChartHeight=s.chartHeight,s.oldChartWidth=s.chartWidth,void 0!==t&&(s.options.chart.width=t),void 0!==i&&(s.options.chart.height=i),s.getChartSize();let{chartWidth:n,chartHeight:o,scrollablePixelsX:a=0,scrollablePixelsY:l=0}=s;(s.isDirtyBox||n!==s.oldChartWidth||o!==s.oldChartHeight)&&(s.styledMode||(r?p:T)(s.container,{width:`${n+a}px`,height:`${o+l}px`},r),s.setChartSize(!0),h.setSize(n,o,r),s.axes.forEach((function(t){t.isDirty=!0,t.setScale()})),s.isDirtyLegend=!0,s.isDirtyBox=!0,s.layOutTitles(),s.getMargins(),s.redraw(r),s.oldChartHeight=void 0,R(s,"resize"),setTimeout((()=>{s&&R(s,"endResize")}),g(r).duration)),s.isResizing-=1}setChartSize(t){let i,e,s,h,{chartHeight:r,chartWidth:n,inverted:o,spacing:a,renderer:l}=this,c=this.clipOffset,d=Math[o?"floor":"round"];this.plotLeft=i=Math.round(this.plotLeft),this.plotTop=e=Math.round(this.plotTop),this.plotWidth=s=Math.max(0,Math.round(n-i-this.marginRight)),this.plotHeight=h=Math.max(0,Math.round(r-e-this.marginBottom)),this.plotSizeX=o?h:s,this.plotSizeY=o?s:h,this.spacingBox=l.spacingBox={x:a[3],y:a[0],width:n-a[3]-a[1],height:r-a[0]-a[2]},this.plotBox=l.plotBox={x:i,y:e,width:s,height:h},c&&(this.clipBox={x:d(c[3]),y:d(c[0]),width:d(this.plotSizeX-c[1]-c[3]),height:d(this.plotSizeY-c[0]-c[2])}),t||(this.axes.forEach((function(t){t.setAxisSize(),t.setAxisTranslation()})),l.alignElements()),R(this,"afterSetChartSize",{skipAxes:t})}resetMargins(){R(this,"resetMargins");let t=this,i=t.options.chart,e=i.plotBorderWidth||0,s=e/2;["margin","spacing"].forEach((function(e){let s=i[e],h=X(s)?s:[s,s,s,s];["Top","Right","Bottom","Left"].forEach((function(s,r){t[e][r]=U(i[e+s],h[r])}))})),k.forEach((function(i,e){t[i]=U(t.margin[e],t.spacing[e])})),t.axisOffset=[0,0,0,0],t.clipOffset=[s,s,s,s],t.plotBorderWidth=e}drawChartBox(){let t,i,e,s=this.options.chart,h=this.renderer,r=this.chartWidth,n=this.chartHeight,o=this.styledMode,a=this.plotBGImage,l=s.backgroundColor,c=s.plotBackgroundColor,d=s.plotBackgroundImage,u=this.plotLeft,f=this.plotTop,p=this.plotWidth,g=this.plotHeight,m=this.plotBox,b=this.clipRect,x=this.clipBox,v=this.chartBackground,y=this.plotBackground,M=this.plotBorder,w="animate";v||(this.chartBackground=v=h.rect().addClass("highcharts-background").add(),w="attr"),o?t=i=v.strokeWidth():(i=(t=s.borderWidth||0)+(s.shadow?8:0),e={fill:l||"none"},(t||v["stroke-width"])&&(e.stroke=s.borderColor,e["stroke-width"]=t),v.attr(e).shadow(s.shadow)),v[w]({x:i/2,y:i/2,width:r-i-t%2,height:n-i-t%2,r:s.borderRadius}),w="animate",y||(w="attr",this.plotBackground=y=h.rect().addClass("highcharts-plot-background").add()),y[w](m),!o&&(y.attr({fill:c||"none"}).shadow(s.plotShadow),d&&(a?(d!==a.attr("href")&&a.attr("href",d),a.animate(m)):this.plotBGImage=h.image(d,u,f,p,g).add())),b?b.animate({width:x.width,height:x.height}):this.clipRect=h.clipRect(x),w="animate",M||(w="attr",this.plotBorder=M=h.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add()),o||M.attr({stroke:s.plotBorderColor,"stroke-width":s.plotBorderWidth||0,fill:"none"}),M[w](M.crisp({x:u,y:f,width:p,height:g},-M.strokeWidth())),this.isDirtyBox=!1,R(this,"afterDrawChartBox")}propFromSeries(){let t,i,e,s=this,h=s.options.chart,r=s.options.series;["inverted","angular","polar"].forEach((function(n){for(i=A[h.type],e=h[n]||i&&i.prototype[n],t=r&&r.length;!e&&t--;)(i=A[r[t].type])&&i.prototype[n]&&(e=!0);s[n]=e}))}linkSeries(t){let i=this,e=i.series;e.forEach((function(t){t.linkedSeries.length=0})),e.forEach((function(t){let{linkedTo:e}=t.options;if($(e)){let s;(s=":previous"===e?i.series[t.index-1]:i.get(e))&&s.linkedParent!==t&&(s.linkedSeries.push(t),t.linkedParent=s,s.enabledDataSorting&&t.setDataSortingOptions(),t.visible=U(t.options.visible,s.options.visible,t.visible))}})),R(this,"afterLinkSeries",{isUpdating:t})}renderSeries(){this.series.forEach((function(t){t.translate(),t.render()}))}render(){let t,i=this.axes,e=this.colorAxis,s=this.renderer,h=this.options.chart.axisLayoutRuns||2,r=t=>{t.forEach((t=>{t.visible&&t.render()}))},n=0,o=!0,a=0;for(let t of(this.setTitle(),R(this,"beforeMargins"),this.getStacks?.(),this.getMargins(!0),this.setChartSize(),i)){let{options:i}=t,{labels:e}=i;if(this.hasCartesianSeries&&t.horiz&&t.visible&&e.enabled&&t.series.length&&"colorAxis"!==t.coll&&!this.polar){n=i.tickLength,t.createGroups();let s=new f(t,0,"",!0),h=s.createLabel("x",e);if(s.destroy(),h&&U(e.reserveSpace,!G(i.crossing))&&(n=h.getBBox().height+e.distance+Math.max(i.offset||0,0)),n){h?.destroy();break}}}for(this.plotHeight=Math.max(this.plotHeight-n,0);(o||t||h>1)&&a<h;){let e=this.plotWidth,s=this.plotHeight;for(let e of i)0===a?e.setScale():(e.horiz&&o||!e.horiz&&t)&&e.setTickInterval(!0);0===a?this.getAxisMargins():this.getMargins(),o=e/this.plotWidth>(a?1:1.1),t=s/this.plotHeight>(a?1:1.05),a++}this.drawChartBox(),this.hasCartesianSeries?r(i):e&&e.length&&r(e),this.seriesGroup||(this.seriesGroup=s.g("series-group").attr({zIndex:3}).shadow(this.options.chart.seriesGroupShadow).add()),this.renderSeries(),this.addCredits(),this.setResponsive&&this.setResponsive(),this.hasRendered=!0}addCredits(t){let i=this,e=H(!0,this.options.credits,t);e.enabled&&!this.credits&&(this.credits=this.renderer.text(e.text+(this.mapCredits||""),0,0).addClass("highcharts-credits").on("click",(function(){e.href&&(O.location.href=e.href)})).attr({align:e.position.align,zIndex:8}),i.styledMode||this.credits.css(e.style),this.credits.add().align(e.position),this.credits.update=function(t){i.credits=i.credits.destroy(),i.addCredits(t)})}destroy(){let t,i=this,e=i.axes,s=i.series,h=i.container,n=h&&h.parentNode;for(R(i,"destroy"),i.renderer.forExport?D(M,i):M[i.index]=void 0,r.chartCount--,i.renderTo.removeAttribute("data-highcharts-chart"),Z(i),t=e.length;t--;)e[t]=e[t].destroy();for(this.scroller&&this.scroller.destroy&&this.scroller.destroy(),t=s.length;t--;)s[t]=s[t].destroy();["title","subtitle","chartBackground","plotBackground","plotBGImage","plotBorder","seriesGroup","clipRect","credits","pointer","rangeSelector","legend","resetZoomButton","tooltip","renderer"].forEach((function(t){let e=i[t];e&&e.destroy&&(i[t]=e.destroy())})),h&&(h.innerHTML=u.emptyHTML,Z(h),n&&z(h)),W(i,(function(t,e){delete i[e]}))}firstRender(){let t=this,i=t.options;t.getContainer(),t.resetMargins(),t.setChartSize(),t.propFromSeries(),t.getAxes();let e=Y(i.series)?i.series:[];i.series=[],e.forEach((function(i){t.initSeries(i)})),t.linkSeries(),t.setSortedData(),R(t,"beforeRender"),t.render(),t.pointer?.getChartPosition(),t.renderer.imgCount||t.hasLoaded||t.onload(),t.temporaryDisplay(!0)}onload(){this.callbacks.concat([this.callback]).forEach((function(t){t&&void 0!==this.index&&t.apply(this,[this])}),this),R(this,"load"),R(this,"render"),P(this.index)&&this.setReflow(),this.warnIfA11yModuleNotLoaded(),this.hasLoaded=!0}warnIfA11yModuleNotLoaded(){let{options:t,title:i}=this;!t||this.accessibility||(this.renderer.boxWrapper.attr({role:"img","aria-label":(i&&i.element.textContent||"").replace(/</g,"&lt;")}),t.accessibility&&!1===t.accessibility.enabled||N('Highcharts warning: Consider including the "accessibility.js" module to make your chart more usable for people with disabilities. Set the "accessibility.enabled" option to false to remove this warning. See https://www.highcharts.com/docs/accessibility/accessibility-module.',!1,this))}addSeries(t,i,e){let s,h=this;return t&&(i=U(i,!0),R(h,"addSeries",{options:t},(function(){s=h.initSeries(t),h.isDirtyLegend=!0,h.linkSeries(),s.enabledDataSorting&&s.setData(t.data,!1),R(h,"afterAddSeries",{series:s}),i&&h.redraw(e)}))),s}addAxis(t,i,e,s){return this.createAxis(i?"xAxis":"yAxis",{axis:t,redraw:e,animation:s})}addColorAxis(t,i,e){return this.createAxis("colorAxis",{axis:t,redraw:i,animation:e})}createAxis(t,e){let s=new i(this,e.axis,t);return U(e.redraw,!0)&&this.redraw(e.animation),s}showLoading(t){let i=this,e=i.options,s=e.loading,h=function(){r&&T(r,{left:i.plotLeft+"px",top:i.plotTop+"px",width:i.plotWidth+"px",height:i.plotHeight+"px"})},r=i.loadingDiv,n=i.loadingSpan;r||(i.loadingDiv=r=j("div",{className:"highcharts-loading highcharts-loading-hidden"},null,i.container)),n||(i.loadingSpan=n=j("span",{className:"highcharts-loading-inner"},null,r),L(i,"redraw",h)),r.className="highcharts-loading",u.setElementHTML(n,U(t,e.lang.loading,"")),i.styledMode||(T(r,I(s.style,{zIndex:10})),T(n,s.labelStyle),i.loadingShown||(T(r,{opacity:0,display:""}),p(r,{opacity:s.style.opacity||.5},{duration:s.showDuration||0}))),i.loadingShown=!0,h()}hideLoading(){let t=this.options,i=this.loadingDiv;i&&(i.className="highcharts-loading highcharts-loading-hidden",this.styledMode||p(i,{opacity:0},{duration:t.loading.hideDuration||100,complete:function(){T(i,{display:"none"})}})),this.loadingShown=!1}update(t,i,e,s){let h,r,n,o=this,a={credits:"addCredits",title:"setTitle",subtitle:"setSubtitle",caption:"setCaption"},l=t.isResponsiveOptions,d=[];R(o,"update",{options:t}),l||o.setResponsive(!1,!0),t=E(t,o.options),o.userOptions=H(o.userOptions,t);let u=t.chart;u&&(H(!0,o.options.chart,u),this.setZoomOptions(),"className"in u&&o.setClassName(u.className),("inverted"in u||"polar"in u||"type"in u)&&(o.propFromSeries(),h=!0),"alignTicks"in u&&(h=!0),"events"in u&&y(this,u),W(u,(function(t,i){-1!==o.propsRequireUpdateSeries.indexOf("chart."+i)&&(r=!0),-1!==o.propsRequireDirtyBox.indexOf(i)&&(o.isDirtyBox=!0),-1===o.propsRequireReflow.indexOf(i)||(o.isDirtyBox=!0,l||(n=!0))})),!o.styledMode&&u.style&&o.renderer.setStyle(o.options.chart.style||{})),!o.styledMode&&t.colors&&(this.options.colors=t.colors),t.time&&(this.time===x&&(this.time=new c(t.time)),H(!0,o.options.time,t.time)),W(t,(function(i,e){o[e]&&"function"==typeof o[e].update?o[e].update(i,!1):"function"==typeof o[a[e]]?o[a[e]](i):"colors"!==e&&-1===o.collectionsWithUpdate.indexOf(e)&&H(!0,o.options[e],t[e]),"chart"!==e&&-1!==o.propsRequireUpdateSeries.indexOf(e)&&(r=!0)})),this.collectionsWithUpdate.forEach((function(i){t[i]&&(_(t[i]).forEach((function(t,s){let h,r=P(t.id);r&&(h=o.get(t.id)),!h&&o[i]&&(h=o[i][U(t.index,s)])&&(r&&P(h.options.id)||h.options.isInternal)&&(h=void 0),h&&h.coll===i&&(h.update(t,!1),e&&(h.touched=!0)),!h&&e&&o.collectionsWithInit[i]&&(o.collectionsWithInit[i][0].apply(o,[t].concat(o.collectionsWithInit[i][1]||[]).concat([!1])).touched=!0)})),e&&o[i].forEach((function(t){t.touched||t.options.isInternal?delete t.touched:d.push(t)})))})),d.forEach((function(t){t.chart&&t.remove&&t.remove(!1)})),h&&o.axes.forEach((function(t){t.update({},!1)})),r&&o.getSeriesOrderByLinks().forEach((function(t){t.chart&&t.update({},!1)}),this);let f=u&&u.width,p=u&&($(u.height)?V(u.height,f||o.chartWidth):u.height);n||G(f)&&f!==o.chartWidth||G(p)&&p!==o.chartHeight?o.setSize(f,p,s):U(i,!0)&&o.redraw(s),R(o,"afterUpdate",{options:t,redraw:i,animation:s})}setSubtitle(t,i){this.applyDescription("subtitle",t),this.layOutTitles(i)}setCaption(t,i){this.applyDescription("caption",t),this.layOutTitles(i)}showResetZoom(){let t=this,i=b.lang,e=t.zooming.resetButton,s=e.theme,h="chart"===e.relativeTo||"spacingBox"===e.relativeTo?null:"plotBox";function r(){t.zoomOut()}R(this,"beforeShowResetZoom",null,(function(){t.resetZoomButton=t.renderer.button(i.resetZoom,null,null,r,s).attr({align:e.position.align,title:i.resetZoomTitle}).addClass("highcharts-reset-zoom").add().align(e.position,!1,h)})),R(this,"afterShowResetZoom")}zoomOut(){R(this,"selection",{resetSelection:!0},(()=>this.transform({reset:!0,trigger:"zoom"})))}pan(t,i){let e=this,s="object"==typeof i?i:{enabled:i,type:"x"},h=s.type,r=h&&e[{x:"xAxis",xy:"axes",y:"yAxis"}[h]].filter((t=>t.options.panningEnabled&&!t.options.isInternal)),n=e.options.chart;n?.panning&&(n.panning=s),R(this,"pan",{originalEvent:t},(()=>{e.transform({axes:r,event:t,to:{x:t.chartX-(e.mouseDownX||0),y:t.chartY-(e.mouseDownY||0)},trigger:"pan"}),T(e.container,{cursor:"move"})}))}transform(t){let i,e,{axes:s=this.axes,event:h,from:r={},reset:n,selection:o,to:a={},trigger:l}=t,{inverted:c}=this,d=!1;for(let t of(this.hoverPoints?.forEach((t=>t.setState())),s)){let{horiz:s,len:u,minPointOffset:f=0,options:p,reversed:g}=t,m=s?"width":"height",b=s?"x":"y",x=U(a[m],t.len),v=U(r[m],t.len),y=10>Math.abs(x)?1:x/v,M=(r[b]||0)+v/2-t.pos,w=M-((a[b]??t.pos)+x/2-t.pos)/y,k=g&&!c||!g&&c?-1:1;if(!n&&(M<0||M>t.len))continue;let S=t.toValue(w,!0)+(o||t.isOrdinal?0:f*k),O=t.toValue(w+u/y,!0)-(o||t.isOrdinal?0:f*k||0),A=t.allExtremes;if(S>O&&([S,O]=[O,S]),1===y&&!n&&"yAxis"===t.coll&&!A){for(let i of t.series){let t=i.getExtremes(i.getProcessedData(!0).yData,!0);A??(A={dataMin:Number.MAX_VALUE,dataMax:-Number.MAX_VALUE}),G(t.dataMin)&&G(t.dataMax)&&(A.dataMin=Math.min(t.dataMin,A.dataMin),A.dataMax=Math.max(t.dataMax,A.dataMax))}t.allExtremes=A}let{dataMin:L,dataMax:C,min:j,max:T}=I(t.getExtremes(),A||{}),E=L??p.min,z=C??p.max,D=O-S,N=t.categories?0:Math.min(D,z-E),F=E-N*(P(p.min)?0:p.minPadding),R=z+N*(P(p.max)?0:p.maxPadding),B=t.allowZoomOutside||1===y||"zoom"!==l&&y>1,Y=Math.min(p.min??F,F,B?j:F),X=Math.max(p.max??R,R,B?T:R);(!t.isOrdinal||t.options.overscroll||1!==y||n)&&(S<Y&&(S=Y,y>=1&&(O=S+D)),O>X&&(O=X,y>=1&&(S=O-D)),(n||t.series.length&&(S!==j||O!==T)&&S>=Y&&O<=X)&&(o?o[t.coll].push({axis:t,min:S,max:O}):(t.isPanning="zoom"!==l,t.isPanning&&(e=!0),t.setExtremes(n?void 0:S,n?void 0:O,!1,!1,{move:w,trigger:l,scale:y}),!n&&(S>Y||O<X)&&"mousewheel"!==l&&(i=!0)),d=!0),h&&(this[s?"mouseDownX":"mouseDownY"]=h[s?"chartX":"chartY"]))}return d&&(o?R(this,"selection",o,(()=>{delete t.selection,t.trigger="zoom",this.transform(t)})):(!i||e||this.resetZoomButton?!i&&this.resetZoomButton&&(this.resetZoomButton=this.resetZoomButton.destroy()):this.showResetZoom(),this.redraw("zoom"===l&&(this.options.chart.animation??this.pointCount<100)))),d}}return I(Q.prototype,{callbacks:[],collectionsWithInit:{xAxis:[Q.prototype.addAxis,[!0]],yAxis:[Q.prototype.addAxis,[!1]],series:[Q.prototype.addSeries]},collectionsWithUpdate:["xAxis","yAxis","series"],propsRequireDirtyBox:["backgroundColor","borderColor","borderWidth","borderRadius","plotBackgroundColor","plotBackgroundImage","plotBorderColor","plotBorderWidth","plotShadow","shadow"],propsRequireReflow:["margin","marginTop","marginRight","marginBottom","marginLeft","spacing","spacingTop","spacingRight","spacingBottom","spacingLeft"],propsRequireUpdateSeries:["chart.inverted","chart.polar","chart.ignoreHiddenSeries","chart.type","colors","plotOptions","time","tooltip"]}),Q})),e(i,"Extensions/ScrollablePlotArea.js",[i["Core/Animation/AnimationUtilities.js"],i["Core/Globals.js"],i["Core/Renderer/RendererRegistry.js"],i["Core/Utilities.js"]],(function(t,i,e,s){let{stop:h}=t,{composed:r}=i,{addEvent:n,createElement:o,css:a,defined:l,merge:c,pushUnique:d}=s;function u(){let t=this.scrollablePlotArea;(this.scrollablePixelsX||this.scrollablePixelsY)&&!t&&(this.scrollablePlotArea=t=new p(this)),t?.applyFixed()}function f(){this.chart.scrollablePlotArea&&(this.chart.scrollablePlotArea.isDirty=!0)}class p{static compose(t,i,e){d(r,this.compose)&&(n(t,"afterInit",f),n(i,"afterSetChartSize",(t=>this.afterSetSize(t.target,t))),n(i,"render",u),n(e,"show",f))}static afterSetSize(t,i){let e,s,h,{minWidth:r,minHeight:n}=t.options.chart.scrollablePlotArea||{},{clipBox:o,plotBox:a,inverted:d,renderer:u}=t;if(!u.forExport&&(r?(t.scrollablePixelsX=e=Math.max(0,r-t.chartWidth),e&&(t.scrollablePlotBox=c(t.plotBox),a.width=t.plotWidth+=e,o[d?"height":"width"]+=e,h=!0)):n&&(t.scrollablePixelsY=s=Math.max(0,n-t.chartHeight),l(s)&&(t.scrollablePlotBox=c(t.plotBox),a.height=t.plotHeight+=s,o[d?"width":"height"]+=s,h=!1)),l(h)&&!i.skipAxes))for(let i of t.axes)i.horiz===h&&(i.setAxisSize(),i.setAxisTranslation())}constructor(t){let i,s=t.options.chart,h=e.getRendererType(),r=s.scrollablePlotArea||{},l=this.moveFixedElements.bind(this),c={WebkitOverflowScrolling:"touch",overflowX:"hidden",overflowY:"hidden"};t.scrollablePixelsX&&(c.overflowX="auto"),t.scrollablePixelsY&&(c.overflowY="auto"),this.chart=t;let d=this.parentDiv=o("div",{className:"highcharts-scrolling-parent"},{position:"relative"},t.renderTo),u=this.scrollingContainer=o("div",{className:"highcharts-scrolling"},c,d),f=this.innerContainer=o("div",{className:"highcharts-inner-container"},void 0,u),p=this.fixedDiv=o("div",{className:"highcharts-fixed"},{position:"absolute",overflow:"hidden",pointerEvents:"none",zIndex:(s.style?.zIndex||0)+2,top:0},void 0,!0),g=this.fixedRenderer=new h(p,t.chartWidth,t.chartHeight,s.style);this.mask=g.path().attr({fill:s.backgroundColor||"#fff","fill-opacity":r.opacity??.85,zIndex:-1}).addClass("highcharts-scrollable-mask").add(),u.parentNode.insertBefore(p,u),a(t.renderTo,{overflow:"visible"}),n(t,"afterShowResetZoom",l),n(t,"afterApplyDrilldown",l),n(t,"afterLayOutTitles",l),n(u,"scroll",(()=>{let{pointer:e,hoverPoint:s}=t;e&&(delete e.chartPosition,s&&(i=s),e.runPointActions(void 0,i,!0))})),f.appendChild(t.container)}applyFixed(){let{chart:t,fixedRenderer:i,isDirty:e,scrollingContainer:s}=this,{axisOffset:r,chartWidth:n,chartHeight:o,container:c,plotHeight:d,plotLeft:u,plotTop:f,plotWidth:p,scrollablePixelsX:g=0,scrollablePixelsY:m=0}=t,{scrollPositionX:b=0,scrollPositionY:x=0}=t.options.chart.scrollablePlotArea||{},v=n+g,y=o+m;i.setSize(n,o),(e??!0)&&(this.isDirty=!1,this.moveFixedElements()),h(t.container),a(c,{width:`${v}px`,height:`${y}px`}),t.renderer.boxWrapper.attr({width:v,height:y,viewBox:[0,0,v,y].join(" ")}),t.chartBackground?.attr({width:v,height:y}),a(s,{width:`${n}px`,height:`${o}px`}),l(e)||(s.scrollLeft=g*b,s.scrollTop=m*x);let M=f-r[0]-1,w=u-r[3]-1,k=f+d+r[2]+1,S=u+p+r[1]+1,O=u+p-g,A=f+d-m,L=[["M",0,0]];g?L=[["M",0,M],["L",u-1,M],["L",u-1,k],["L",0,k],["Z"],["M",O,M],["L",n,M],["L",n,k],["L",O,k],["Z"]]:m&&(L=[["M",w,0],["L",w,f-1],["L",S,f-1],["L",S,0],["Z"],["M",w,A],["L",w,o],["L",S,o],["L",S,A],["Z"]]),"adjustHeight"!==t.redrawTrigger&&this.mask.attr({d:L})}moveFixedElements(){let t,{container:i,inverted:e,scrollablePixelsX:s,scrollablePixelsY:h}=this.chart,r=this.fixedRenderer,n=p.fixedSelectors;for(let o of(s&&!e?t=".highcharts-yaxis":s&&e||h&&!e?t=".highcharts-xaxis":h&&e&&(t=".highcharts-yaxis"),t&&n.push(`${t}:not(.highcharts-radial-axis)`,`${t}-labels:not(.highcharts-radial-axis-labels)`),n))[].forEach.call(i.querySelectorAll(o),(t=>{(t.namespaceURI===r.SVG_NS?r.box:r.box.parentNode).appendChild(t),t.style.pointerEvents="auto"}))}}return p.fixedSelectors=[".highcharts-breadcrumbs-group",".highcharts-contextbutton",".highcharts-caption",".highcharts-credits",".highcharts-drillup-button",".highcharts-legend",".highcharts-legend-checkbox",".highcharts-navigator-series",".highcharts-navigator-xaxis",".highcharts-navigator-yaxis",".highcharts-navigator",".highcharts-range-selector-group",".highcharts-reset-zoom",".highcharts-scrollbar",".highcharts-subtitle",".highcharts-title"],p})),e(i,"Core/Axis/Stacking/StackItem.js",[i["Core/Templating.js"],i["Core/Series/SeriesRegistry.js"],i["Core/Utilities.js"]],(function(t,i,e){let{format:s}=t,{series:h}=i,{destroyObjectProperties:r,fireEvent:n,isNumber:o,pick:a}=e;return class{constructor(t,i,e,s,h){let r=t.chart.inverted,n=t.reversed;this.axis=t;let o=this.isNegative=!!e!=!!n;this.options=i=i||{},this.x=s,this.total=null,this.cumulative=null,this.points={},this.hasValidPoints=!1,this.stack=h,this.leftCliff=0,this.rightCliff=0,this.alignOptions={align:i.align||(r?o?"left":"right":"center"),verticalAlign:i.verticalAlign||(r?"middle":o?"bottom":"top"),y:i.y,x:i.x},this.textAlign=i.textAlign||(r?o?"right":"left":"center")}destroy(){r(this,this.axis)}render(t){let i=this.axis.chart,e=this.options,h=e.format,r=h?s(h,this,i):e.formatter.call(this);if(this.label)this.label.attr({text:r,visibility:"hidden"});else{this.label=i.renderer.label(r,null,void 0,e.shape,void 0,void 0,e.useHTML,!1,"stack-labels");let s={r:e.borderRadius||0,text:r,padding:a(e.padding,5),visibility:"hidden"};i.styledMode||(s.fill=e.backgroundColor,s.stroke=e.borderColor,s["stroke-width"]=e.borderWidth,this.label.css(e.style||{})),this.label.attr(s),this.label.added||this.label.add(t)}this.label.labelrank=i.plotSizeY,n(this,"afterRender")}setOffset(t,i,e,s,r,l){let{alignOptions:c,axis:d,label:u,options:f,textAlign:p}=this,g=d.chart,m=this.getStackBox({xOffset:t,width:i,boxBottom:e,boxTop:s,defaultX:r,xAxis:l}),{verticalAlign:b}=c;if(u&&m){let t,i=u.getBBox(void 0,0),e=u.padding,s="justify"===a(f.overflow,"justify");c.x=f.x||0,c.y=f.y||0;let{x:r,y:n}=this.adjustStackPosition({labelBox:i,verticalAlign:b,textAlign:p});m.x-=r,m.y-=n,u.align(c,!1,m),(t=g.isInsidePlot(u.alignAttr.x+c.x+r,u.alignAttr.y+c.y+n))||(s=!1),s&&h.prototype.justifyDataLabel.call(d,u,c,u.alignAttr,i,m),u.attr({x:u.alignAttr.x,y:u.alignAttr.y,rotation:f.rotation,rotationOriginX:i.width*{left:0,center:.5,right:1}[f.textAlign||"center"],rotationOriginY:i.height/2}),a(!s&&f.crop,!0)&&(t=o(u.x)&&o(u.y)&&g.isInsidePlot(u.x-e+(u.width||0),u.y)&&g.isInsidePlot(u.x+e,u.y)),u[t?"show":"hide"]()}n(this,"afterSetOffset",{xOffset:t,width:i})}adjustStackPosition({labelBox:t,verticalAlign:i,textAlign:e}){let s={bottom:0,middle:1,top:2,right:1,center:0,left:-1};return{x:t.width/2+t.width/2*s[e],y:t.height/2*s[i]}}getStackBox(t){let i=this.axis,e=i.chart,{boxTop:s,defaultX:h,xOffset:r,width:n,boxBottom:l}=t,c=i.stacking.usePercentage?100:a(s,this.total,0),d=i.toPixels(c),u=t.xAxis||e.xAxis[0],f=a(h,u.translate(this.x))+r,p=Math.abs(d-i.toPixels(l||o(i.min)&&i.logarithmic&&i.logarithmic.lin2log(i.min)||0)),g=this.isNegative;return e.inverted?{x:(g?d:d-p)-e.plotLeft,y:u.height-f-n+u.top-e.plotTop,width:p,height:n}:{x:f+u.transB-e.plotLeft,y:(g?d-p:d)-e.plotTop,width:n,height:p}}}})),e(i,"Core/Axis/Stacking/StackingAxis.js",[i["Core/Animation/AnimationUtilities.js"],i["Core/Axis/Axis.js"],i["Core/Series/SeriesRegistry.js"],i["Core/Axis/Stacking/StackItem.js"],i["Core/Utilities.js"]],(function(t,i,e,s,h){var r;let{getDeferredAnimation:n}=t,{series:{prototype:o}}=e,{addEvent:a,correctFloat:l,defined:c,destroyObjectProperties:d,fireEvent:u,isArray:f,isNumber:p,objectEach:g,pick:m}=h;function b(){let t=this.inverted;this.axes.forEach((t=>{t.stacking&&t.stacking.stacks&&t.hasVisibleSeries&&(t.stacking.oldStacks=t.stacking.stacks)})),this.series.forEach((i=>{let e=i.xAxis&&i.xAxis.options||{};i.options.stacking&&i.reserveSpace()&&(i.stackKey=[i.type,m(i.options.stack,""),t?e.top:e.left,t?e.height:e.width].join(","))}))}function x(){let t=this.stacking;if(t){let i=t.stacks;g(i,((t,e)=>{d(t),delete i[e]})),t.stackTotalGroup?.destroy()}}function v(){this.stacking||(this.stacking=new O(this))}function y(t,i,e,s){return!c(t)||t.x!==i||s&&t.stackKey!==s?t={x:i,index:0,key:s,stackKey:s}:t.index++,t.key=[e,i,t.index].join(","),t}function M(){let t,i=this,e=i.stackKey||"",s=i.yAxis.stacking.stacks,h=i.processedXData,r=i[i.options.stacking+"Stacker"];r&&[e,"-"+e].forEach((e=>{let n,o,a,l=h.length;for(;l--;)n=h[l],t=i.getStackIndicator(t,n,i.index,e),o=s[e]?.[n],(a=o?.points[t.key||""])&&r.call(i,a,o,l)}))}function w(t,i,e){let s=i.total?100/i.total:0;t[0]=l(t[0]*s),t[1]=l(t[1]*s),this.stackedYData[e]=t[1]}function k(t){(this.is("column")||this.is("columnrange"))&&(this.options.centerInCategory&&!this.options.stacking&&this.chart.series.length>1?o.setStackedPoints.call(this,t,"group"):t.stacking.resetStacks())}function S(t,i){let e,h,r,n,o,a,d,u,p,g=i||this.options.stacking;if(!g||!this.reserveSpace()||({group:"xAxis"}[g]||"yAxis")!==t.coll)return;let b=this.processedXData,x=this.processedYData,v=[],y=x.length,M=this.options,w=M.threshold||0,k=M.startFromThreshold?w:0,S=M.stack,O=i?`${this.type},${g}`:this.stackKey||"",A="-"+O,L=this.negStacks,C=t.stacking,j=C.stacks,T=C.oldStacks;for(C.stacksTouched+=1,d=0;d<y;d++){u=b[d],p=x[d],a=(e=this.getStackIndicator(e,u,this.index)).key||"",j[o=(h=L&&p<(k?0:w))?A:O]||(j[o]={}),j[o][u]||(T[o]?.[u]?(j[o][u]=T[o][u],j[o][u].total=null):j[o][u]=new s(t,t.options.stackLabels,!!h,u,S)),r=j[o][u],null!==p?(r.points[a]=r.points[this.index]=[m(r.cumulative,k)],c(r.cumulative)||(r.base=a),r.touched=C.stacksTouched,e.index>0&&!1===this.singleStacks&&(r.points[a][0]=r.points[this.index+","+u+",0"][0])):(delete r.points[a],delete r.points[this.index]);let i=r.total||0;"percent"===g?(n=h?O:A,i=L&&j[n]?.[u]?(n=j[n][u]).total=Math.max(n.total||0,i)+Math.abs(p)||0:l(i+(Math.abs(p)||0))):"group"===g?(f(p)&&(p=p[0]),null!==p&&i++):i=l(i+(p||0)),r.cumulative="group"===g?(i||1)-1:l(m(r.cumulative,k)+(p||0)),r.total=i,null!==p&&(r.points[a].push(r.cumulative),v[d]=r.cumulative,r.hasValidPoints=!0)}"percent"===g&&(C.usePercentage=!0),"group"!==g&&(this.stackedYData=v),C.oldStacks={}}class O{constructor(t){this.oldStacks={},this.stacks={},this.stacksTouched=0,this.axis=t}buildStacks(){let t,i,e=this.axis,s=e.series,h="xAxis"===e.coll,r=e.options.reversedStacks,n=s.length;for(this.resetStacks(),this.usePercentage=!1,i=n;i--;)t=s[r?i:n-i-1],h&&t.setGroupedPoints(e),t.setStackedPoints(e);if(!h)for(i=0;i<n;i++)s[i].modifyStacks();u(e,"afterBuildStacks")}cleanStacks(){this.oldStacks&&(this.stacks=this.oldStacks,g(this.stacks,(t=>{g(t,(t=>{t.cumulative=t.total}))})))}resetStacks(){g(this.stacks,(t=>{g(t,((i,e)=>{p(i.touched)&&i.touched<this.stacksTouched?(i.destroy(),delete t[e]):(i.total=null,i.cumulative=null)}))}))}renderStackTotals(){let t=this.axis,i=t.chart,e=i.renderer,s=this.stacks,h=n(i,t.options.stackLabels?.animation||!1),r=this.stackTotalGroup=this.stackTotalGroup||e.g("stack-labels").attr({zIndex:6,opacity:0}).add();r.translate(i.plotLeft,i.plotTop),g(s,(t=>{g(t,(t=>{t.render(r)}))})),r.animate({opacity:1},h)}}return(r||(r={})).compose=function(t,i,e){let s=i.prototype,h=e.prototype;s.getStacks||(a(t,"init",v),a(t,"destroy",x),s.getStacks=b,h.getStackIndicator=y,h.modifyStacks=M,h.percentStacker=w,h.setGroupedPoints=k,h.setStackedPoints=S)},r})),e(i,"Series/Line/LineSeries.js",[i["Core/Series/Series.js"],i["Core/Series/SeriesRegistry.js"],i["Core/Utilities.js"]],(function(t,i,e){let{defined:s,merge:h,isObject:r}=e;class n extends t{drawGraph(){let t=this.options,i=(this.gappedPath||this.getGraphPath).call(this),e=this.chart.styledMode;[this,...this.zones].forEach(((s,n)=>{let o,a=s.graph,l=a?"animate":"attr",c=s.dashStyle||t.dashStyle;a?(a.endX=this.preventGraphAnimation?null:i.xMap,a.animate({d:i})):i.length&&(s.graph=a=this.chart.renderer.path(i).addClass("highcharts-graph"+(n?` highcharts-zone-graph-${n-1} `:" ")+(n&&s.className||"")).attr({zIndex:1}).add(this.group)),a&&!e&&(o={stroke:!n&&t.lineColor||s.color||this.color||"#cccccc","stroke-width":t.lineWidth||0,fill:this.fillGraph&&this.color||"none"},c?o.dashstyle=c:"square"!==t.linecap&&(o["stroke-linecap"]=o["stroke-linejoin"]="round"),a[l](o).shadow(n<2&&t.shadow&&h({filterUnits:"userSpaceOnUse"},r(t.shadow)?t.shadow:{}))),a&&(a.startX=i.xMap,a.isArea=i.isArea)}))}getGraphPath(t,i,e){let h,r=this,n=r.options,o=[],a=[],l=n.step,c=(t=t||r.points).reversed;return c&&t.reverse(),(l={right:1,center:2}[l]||l&&3)&&c&&(l=4-l),(t=this.getValidPoints(t,!1,!(n.connectNulls&&!i&&!e))).forEach((function(c,d){let u,f=c.plotX,p=c.plotY,g=t[d-1],m=c.isNull||"number"!=typeof p;(c.leftCliff||g&&g.rightCliff)&&!e&&(h=!0),m&&!s(i)&&d>0?h=!n.connectNulls:m&&!i?h=!0:(0===d||h?u=[["M",c.plotX,c.plotY]]:r.getPointSpline?u=[r.getPointSpline(t,c,d)]:l?(u=1===l?[["L",g.plotX,p]]:2===l?[["L",(g.plotX+f)/2,g.plotY],["L",(g.plotX+f)/2,p]]:[["L",f,g.plotY]]).push(["L",f,p]):u=[["L",f,p]],a.push(c.x),l&&(a.push(c.x),2===l&&a.push(c.x)),o.push.apply(o,u),h=!1)})),o.xMap=a,r.graphPath=o,o}}return n.defaultOptions=h(t.defaultOptions,{legendSymbol:"lineMarker"}),i.registerSeriesType("line",n),n})),e(i,"Series/Area/AreaSeriesDefaults.js",[],(function(){return{threshold:0,legendSymbol:"areaMarker"}})),e(i,"Series/Area/AreaSeries.js",[i["Series/Area/AreaSeriesDefaults.js"],i["Core/Series/SeriesRegistry.js"],i["Core/Utilities.js"]],(function(t,i,e){let{seriesTypes:{line:s}}=i,{extend:h,merge:r,objectEach:n,pick:o}=e;class a extends s{drawGraph(){this.areaPath=[],super.drawGraph.apply(this);let{areaPath:t,options:i}=this;[this,...this.zones].forEach(((e,s)=>{let h={},r=e.fillColor||i.fillColor,n=e.area,o=n?"animate":"attr";n?(n.endX=this.preventGraphAnimation?null:t.xMap,n.animate({d:t})):(h.zIndex=0,(n=e.area=this.chart.renderer.path(t).addClass("highcharts-area"+(s?` highcharts-zone-area-${s-1} `:" ")+(s&&e.className||"")).add(this.group)).isArea=!0),this.chart.styledMode||(h.fill=r||e.color||this.color,h["fill-opacity"]=r?1:i.fillOpacity??.75,n.css({pointerEvents:this.stickyTracking?"none":"auto"})),n[o](h),n.startX=t.xMap,n.shiftUnit=i.step?2:1}))}getGraphPath(t){let i,e,h,r=s.prototype.getGraphPath,n=this.options,a=n.stacking,l=this.yAxis,c=[],d=[],u=this.index,f=l.stacking.stacks[this.stackKey],p=n.threshold,g=Math.round(l.getThreshold(n.threshold)),m=o(n.connectNulls,"percent"===a),b=function(e,s,h){let r,n,o=t[e],m=a&&f[o.x].points[u],b=o[h+"Null"]||0,x=o[h+"Cliff"]||0,v=!0;x||b?(r=(b?m[0]:m[1])+x,n=m[0]+x,v=!!b):!a&&t[s]&&t[s].isNull&&(r=n=p),void 0!==r&&(d.push({plotX:i,plotY:null===r?g:l.getThreshold(r),isNull:v,isCliff:!0}),c.push({plotX:i,plotY:null===n?g:l.getThreshold(n),doCurve:!1}))};t=t||this.points,a&&(t=this.getStackPoints(t));for(let s=0,r=t.length;s<r;++s)a||(t[s].leftCliff=t[s].rightCliff=t[s].leftNull=t[s].rightNull=void 0),e=t[s].isNull,i=o(t[s].rectPlotX,t[s].plotX),h=a?o(t[s].yBottom,g):g,e&&!m||(m||b(s,s-1,"left"),e&&!a&&m||(d.push(t[s]),c.push({x:s,plotX:i,plotY:h})),m||b(s,s+1,"right"));let x=r.call(this,d,!0,!0);c.reversed=!0;let v=r.call(this,c,!0,!0),y=v[0];y&&"M"===y[0]&&(v[0]=["L",y[1],y[2]]);let M=x.concat(v);M.length&&M.push(["Z"]);let w=r.call(this,d,!1,m);return this.chart.series.length>1&&a&&d.some((t=>t.isCliff))&&(M.hasStackedCliffs=w.hasStackedCliffs=!0),M.xMap=x.xMap,this.areaPath=M,w}getStackPoints(t){let i=this,e=[],s=[],h=this.xAxis,r=this.yAxis,a=r.stacking.stacks[this.stackKey],l={},c=r.series,d=c.length,u=r.options.reversedStacks?1:-1,f=c.indexOf(i);if(t=t||this.points,this.options.stacking){for(let i=0;i<t.length;i++)t[i].leftNull=t[i].rightNull=void 0,l[t[i].x]=t[i];n(a,(function(t,i){null!==t.total&&s.push(i)})),s.sort((function(t,i){return t-i}));let p=c.map((t=>t.visible));s.forEach((function(t,n){let g,m,b=0;if(l[t]&&!l[t].isNull)e.push(l[t]),[-1,1].forEach((function(e){let h=1===e?"rightNull":"leftNull",r=a[s[n+e]],o=0;if(r){let e=f;for(;e>=0&&e<d;){let s=c[e].index;!(g=r.points[s])&&(s===i.index?l[t][h]=!0:p[e]&&(m=a[t].points[s])&&(o-=m[1]-m[0])),e+=u}}l[t][1===e?"rightCliff":"leftCliff"]=o}));else{let i=f;for(;i>=0&&i<d;){if(g=a[t].points[c[i].index]){b=g[1];break}i+=u}b=o(b,0),b=r.translate(b,0,1,0,1),e.push({isNull:!0,plotX:h.translate(t,0,0,0,1),x:t,plotY:b,yBottom:b})}}))}return e}}return a.defaultOptions=r(s.defaultOptions,t),h(a.prototype,{singleStacks:!1}),i.registerSeriesType("area",a),a})),e(i,"Series/Spline/SplineSeries.js",[i["Core/Series/SeriesRegistry.js"],i["Core/Utilities.js"]],(function(t,i){let{line:e}=t.seriesTypes,{merge:s,pick:h}=i;class r extends e{getPointSpline(t,i,e){let s,r,n,o,a=i.plotX||0,l=i.plotY||0,c=t[e-1],d=t[e+1];function u(t){return t&&!t.isNull&&!1!==t.doCurve&&!i.isCliff}if(u(c)&&u(d)){let t=c.plotY||0,e=d.plotY||0,h=0;s=(1.5*a+(c.plotX||0))/2.5,r=(1.5*l+t)/2.5,n=(1.5*a+(d.plotX||0))/2.5,o=(1.5*l+e)/2.5,n!==s&&(h=(o-r)*(n-a)/(n-s)+l-o),r+=h,o+=h,r>t&&r>l?(r=Math.max(t,l),o=2*l-r):r<t&&r<l&&(r=Math.min(t,l),o=2*l-r),o>e&&o>l?(o=Math.max(e,l),r=2*l-o):o<e&&o<l&&(o=Math.min(e,l),r=2*l-o),i.rightContX=n,i.rightContY=o,i.controlPoints={low:[s,r],high:[n,o]}}let f=["C",h(c.rightContX,c.plotX,0),h(c.rightContY,c.plotY,0),h(s,a,0),h(r,l,0),a,l];return c.rightContX=c.rightContY=void 0,f}}return r.defaultOptions=s(e.defaultOptions),t.registerSeriesType("spline",r),r})),e(i,"Series/AreaSpline/AreaSplineSeries.js",[i["Series/Spline/SplineSeries.js"],i["Core/Series/SeriesRegistry.js"],i["Core/Utilities.js"]],(function(t,i,e){let{area:s,area:{prototype:h}}=i.seriesTypes,{extend:r,merge:n}=e;class o extends t{}return o.defaultOptions=n(t.defaultOptions,s.defaultOptions),r(o.prototype,{getGraphPath:h.getGraphPath,getStackPoints:h.getStackPoints,drawGraph:h.drawGraph}),i.registerSeriesType("areaspline",o),o})),e(i,"Series/Column/ColumnSeriesDefaults.js",[],(function(){return{borderRadius:3,centerInCategory:!1,groupPadding:.2,marker:null,pointPadding:.1,minPointLength:0,cropThreshold:50,pointRange:null,states:{hover:{halo:!1,brightness:.1},select:{color:"#cccccc",borderColor:"#000000"}},dataLabels:{align:void 0,verticalAlign:void 0,y:void 0},startFromThreshold:!0,stickyTracking:!1,tooltip:{distance:6},threshold:0,borderColor:"#ffffff"}})),e(i,"Series/Column/ColumnSeries.js",[i["Core/Animation/AnimationUtilities.js"],i["Core/Color/Color.js"],i["Series/Column/ColumnSeriesDefaults.js"],i["Core/Globals.js"],i["Core/Series/Series.js"],i["Core/Series/SeriesRegistry.js"],i["Core/Utilities.js"]],(function(t,i,e,s,h,r,n){let{animObject:o}=t,{parse:a}=i,{noop:l}=s,{clamp:c,crisp:d,defined:u,extend:f,fireEvent:p,isArray:g,isNumber:m,merge:b,pick:x,objectEach:v}=n;class y extends h{animate(t){let i,e,s=this,h=this.yAxis,r=h.pos,n=h.reversed,a=s.options,{clipOffset:l,inverted:d}=this.chart,u={},p=d?"translateX":"translateY";t&&l?(u.scaleY=.001,e=c(h.toPixels(a.threshold),r,r+h.len),d?(e+=n?-Math.floor(l[0]):Math.ceil(l[2]),u.translateX=e-h.len):(e+=n?Math.ceil(l[0]):-Math.floor(l[2]),u.translateY=e),s.clipBox&&s.setClip(),s.group.attr(u)):(i=Number(s.group.attr(p)),s.group.animate({scaleY:1},f(o(s.options.animation),{step:function(t,e){s.group&&(u[p]=i+e.pos*(r-i),s.group.attr(u))}})))}init(t,i){super.init.apply(this,arguments);let e=this;(t=e.chart).hasRendered&&t.series.forEach((function(t){t.type===e.type&&(t.isDirty=!0)}))}getColumnMetrics(){let t,i=this,e=i.options,s=i.xAxis,h=i.yAxis,r=s.options.reversedStacks,n=s.reversed&&!r||!s.reversed&&r,o={},a=0;!1===e.grouping?a=1:i.chart.series.forEach((function(e){let s,r=e.yAxis,n=e.options;e.type===i.type&&e.reserveSpace()&&h.len===r.len&&h.pos===r.pos&&(n.stacking&&"group"!==n.stacking?(void 0===o[t=e.stackKey]&&(o[t]=a++),s=o[t]):!1!==n.grouping&&(s=a++),e.columnIndex=s)}));let l=Math.min(Math.abs(s.transA)*(!s.brokenAxis?.hasBreaks&&s.ordinal?.slope||e.pointRange||s.closestPointRange||s.tickInterval||1),s.len),c=l*e.groupPadding,d=(l-2*c)/(a||1),u=Math.min(e.maxPointWidth||s.len,x(e.pointWidth,d*(1-2*e.pointPadding)));return i.columnMetrics={width:u,offset:(d-u)/2+(c+((i.columnIndex||0)+(n?1:0))*d-l/2)*(n?-1:1),paddedWidth:d,columnCount:a},i.columnMetrics}crispCol(t,i,e,s){let h=this.borderWidth,r=this.chart.inverted;return s=d(i+s,h,r)-(i=d(i,h,r)),this.options.crisp&&(e=d(t+e,h)-(t=d(t,h))),{x:t,y:i,width:e,height:s}}adjustForMissingColumns(t,i,e,s){if(!e.isNull&&s.columnCount>1){let h=this.xAxis.series.filter((t=>t.visible)).map((t=>t.index)),r=0,n=0;v(this.xAxis.stacking?.stacks,(t=>{if("number"==typeof e.x){let i=t[e.x.toString()];if(i&&g(i.points[this.index])){let t=Object.keys(i.points).filter((t=>!t.match(",")&&i.points[t]&&i.points[t].length>1)).map(parseFloat).filter((t=>-1!==h.indexOf(t))).sort(((t,i)=>i-t));r=t.indexOf(this.index),n=t.length}}})),r=this.xAxis.reversed?n-1-r:r,t=(e.plotX||0)+((n-1)*s.paddedWidth+i)/2-i-r*s.paddedWidth}return t}translate(){let t=this,i=t.chart,e=t.options,s=t.dense=t.closestPointRange*t.xAxis.transA<2,r=t.borderWidth=x(e.borderWidth,s?0:1),n=t.xAxis,o=t.yAxis,a=e.threshold,l=x(e.minPointLength,5),d=t.getColumnMetrics(),f=d.width,g=t.pointXOffset=d.offset,b=t.dataMin,v=t.dataMax,y=t.translatedThreshold=o.getThreshold(a),M=t.barW=Math.max(f,1+2*r);e.pointPadding&&(M=Math.ceil(M)),h.prototype.translate.apply(t),t.points.forEach((function(s){let h,r=x(s.yBottom,y),p=999+Math.abs(r),w=s.plotX||0,k=c(s.plotY,-p,o.len+p),S=Math.min(k,r),O=Math.max(k,r)-S,A=f,L=w+g,C=M;l&&Math.abs(O)<l&&(O=l,h=!o.reversed&&!s.negative||o.reversed&&s.negative,m(a)&&m(v)&&s.y===a&&v<=a&&(o.min||0)<a&&(b!==v||(o.max||0)<=a)&&(h=!h,s.negative=!s.negative),S=Math.abs(S-y)>l?r-l:y-(h?l:0)),u(s.options.pointWidth)&&(L-=Math.round(((A=C=Math.ceil(s.options.pointWidth))-f)/2)),e.centerInCategory&&!e.stacking&&(L=t.adjustForMissingColumns(L,A,s,d)),s.barX=L,s.pointWidth=A,s.tooltipPos=i.inverted?[c(o.len+o.pos-i.plotLeft-k,o.pos-i.plotLeft,o.len+o.pos-i.plotLeft),n.len+n.pos-i.plotTop-L-C/2,O]:[n.left-i.plotLeft+L+C/2,c(k+o.pos-i.plotTop,o.pos-i.plotTop,o.len+o.pos-i.plotTop),O],s.shapeType=t.pointClass.prototype.shapeType||"roundedRect",s.shapeArgs=t.crispCol(L,s.isNull?y:S,C,s.isNull?0:O)})),p(this,"afterColumnTranslate")}drawGraph(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")}pointAttribs(t,i){let e,s,h,r=this.options,n=this.pointAttrToOptions||{},o=n.stroke||"borderColor",l=n["stroke-width"]||"borderWidth",c=t&&t.color||this.color,d=t&&t[o]||r[o]||c,u=t&&t.options.dashStyle||r.dashStyle,f=t&&t[l]||r[l]||this[l]||0,p=x(t&&t.opacity,r.opacity,1);t&&this.zones.length&&(s=t.getZone(),c=t.options.color||s&&(s.color||t.nonZonedColor)||this.color,s&&(d=s.borderColor||d,u=s.dashStyle||u,f=s.borderWidth||f)),i&&t&&(h=(e=b(r.states[i],t.options.states&&t.options.states[i]||{})).brightness,c=e.color||void 0!==h&&a(c).brighten(e.brightness).get()||c,d=e[o]||d,f=e[l]||f,u=e.dashStyle||u,p=x(e.opacity,p));let g={fill:c,stroke:d,"stroke-width":f,opacity:p};return u&&(g.dashstyle=u),g}drawPoints(t=this.points){let i,e=this,s=this.chart,h=e.options,r=s.renderer,n=h.animationLimit||250;t.forEach((function(t){let o=t.graphic,a=!!o,l=o&&s.pointCount<n?"animate":"attr";m(t.plotY)&&null!==t.y?(i=t.shapeArgs,o&&t.hasNewShapeType()&&(o=o.destroy()),e.enabledDataSorting&&(t.startXPos=e.xAxis.reversed?-(i&&i.width||0):e.xAxis.width),!o&&(t.graphic=o=r[t.shapeType](i).add(t.group||e.group),o&&e.enabledDataSorting&&s.hasRendered&&s.pointCount<n&&(o.attr({x:t.startXPos}),a=!0,l="animate")),o&&a&&o[l](b(i)),s.styledMode||o[l](e.pointAttribs(t,t.selected&&"select")).shadow(!1!==t.allowShadow&&h.shadow),o&&(o.addClass(t.getClassName(),!0),o.attr({visibility:t.visible?"inherit":"hidden"}))):o&&(t.graphic=o.destroy())}))}drawTracker(t=this.points){let i,e=this,s=e.chart,h=s.pointer,r=function(t){let i=h?.getPointFromEvent(t);h&&i&&e.options.enableMouseTracking&&(h.isDirectTouch=!0,i.onMouseOver(t))};t.forEach((function(t){i=g(t.dataLabels)?t.dataLabels:t.dataLabel?[t.dataLabel]:[],t.graphic&&(t.graphic.element.point=t),i.forEach((function(i){(i.div||i.element).point=t}))})),e._hasTracking||(e.trackerGroups.forEach((function(t){e[t]&&(e[t].addClass("highcharts-tracker").on("mouseover",r).on("mouseout",(function(t){h?.onTrackerMouseOut(t)})).on("touchstart",r),!s.styledMode&&e.options.cursor&&e[t].css({cursor:e.options.cursor}))})),e._hasTracking=!0),p(this,"afterDrawTracker")}remove(){let t=this,i=t.chart;i.hasRendered&&i.series.forEach((function(i){i.type===t.type&&(i.isDirty=!0)})),h.prototype.remove.apply(t,arguments)}}return y.defaultOptions=b(h.defaultOptions,e),f(y.prototype,{directTouch:!0,getSymbol:l,negStacks:!0,trackerGroups:["group","dataLabelsGroup"]}),r.registerSeriesType("column",y),y})),e(i,"Core/Series/DataLabel.js",[i["Core/Animation/AnimationUtilities.js"],i["Core/Templating.js"],i["Core/Utilities.js"]],(function(t,i,e){var s;let{getDeferredAnimation:h}=t,{format:r}=i,{defined:n,extend:o,fireEvent:a,isArray:l,isString:c,merge:d,objectEach:u,pick:f,pInt:p,splat:g}=e;return function(t){function i(){return y(this).some((t=>t?.enabled))}function e(t,i,e,s,h){let{chart:r,enabledDataSorting:a}=this,l=this.isCartesian&&r.inverted,c=t.plotX,u=t.plotY,p=e.rotation||0,g=n(c)&&n(u)&&r.isInsidePlot(c,Math.round(u),{inverted:l,paneCoordinates:!0,series:this}),m=0===p&&"justify"===f(e.overflow,a?"none":"justify"),b=this.visible&&!1!==t.visible&&n(c)&&(t.series.forceDL||a&&!m||g||f(e.inside,!!this.options.stacking)&&s&&r.isInsidePlot(c,l?s.x+1:s.y+s.height-1,{inverted:l,paneCoordinates:!0,series:this})),x=t.pos();if(b&&x){let n=i.getBBox(),c=i.getBBox(void 0,0),u={right:1,center:.5}[e.align||0]||0,v={bottom:1,middle:.5}[e.verticalAlign||0]||0;if(s=o({x:x[0],y:Math.round(x[1]),width:0,height:0},s||{}),"plotEdges"===e.alignTo&&this.isCartesian&&(s[l?"x":"y"]=0,s[l?"width":"height"]=this.yAxis?.len||0),o(e,{width:n.width,height:n.height}),a&&this.xAxis&&!m&&this.setDataLabelStartPos(t,i,h,g,s),i.align(d(e,{width:c.width,height:c.height}),!1,s,!1),i.alignAttr.x+=u*(c.width-n.width),i.alignAttr.y+=v*(c.height-n.height),i[i.placed?"animate":"attr"]({x:i.alignAttr.x+(n.width-c.width)/2,y:i.alignAttr.y+(n.height-c.height)/2,rotationOriginX:(i.width||0)/2,rotationOriginY:(i.height||0)/2}),m&&s.height>=0)this.justifyDataLabel(i,e,i.alignAttr,n,s,h);else if(f(e.crop,!0)){let{x:t,y:e}=i.alignAttr;b=r.isInsidePlot(t,e,{paneCoordinates:!0,series:this})&&r.isInsidePlot(t+n.width-1,e+n.height-1,{paneCoordinates:!0,series:this})}e.shape&&!p&&i[h?"attr":"animate"]({anchorX:x[0],anchorY:x[1]})}h&&a&&(i.placed=!1),b||a&&!m?(i.show(),i.placed=!0):(i.hide(),i.placed=!1)}function s(){return this.plotGroup("dataLabelsGroup","data-labels",this.hasRendered?"inherit":"hidden",this.options.dataLabels.zIndex||6)}function m(t){let i=this.hasRendered||0,e=this.initDataLabelsGroup().attr({opacity:+i});return!i&&e&&(this.visible&&e.show(),this.options.animation?e.animate({opacity:1},t):e.attr({opacity:1})),e}function b(t){let i;t=t||this.points;let e=this,s=e.chart,o=e.options,l=s.renderer,{backgroundColor:d,plotBackgroundColor:m}=s.options.chart,b=l.getContrast(c(m)&&m||c(d)&&d||"#000000"),x=y(e),{animation:M,defer:w}=x[0],k=w?h(s,M,e):{defer:0,duration:0};a(this,"drawDataLabels"),e.hasDataLabels?.()&&(i=this.initDataLabels(k),t.forEach((t=>{let h=t.dataLabels||[];g(v(x,t.dlOptions||t.options?.dataLabels)).forEach(((d,g)=>{let m,x,v,y,M,w=d.enabled&&(t.visible||t.dataLabelOnHidden)&&(!t.isNull||t.dataLabelOnNull)&&function(t,i){let e=i.filter;if(e){let i=e.operator,s=t[e.property],h=e.value;return">"===i&&s>h||"<"===i&&s<h||">="===i&&s>=h||"<="===i&&s<=h||"=="===i&&s==h||"==="===i&&s===h||"!="===i&&s!=h||"!=="===i&&s!==h}return!0}(t,d),{backgroundColor:k,borderColor:S,distance:O,style:A={}}=d,L={},C=h[g],j=!C;w&&(x=f(d[t.formatPrefix+"Format"],d.format),m=t.getLabelConfig(),v=n(x)?r(x,m,s):(d[t.formatPrefix+"Formatter"]||d.formatter).call(m,d),y=d.rotation,!s.styledMode&&(A.color=f(d.color,A.color,c(e.color)?e.color:void 0,"#000000"),"contrast"===A.color?("none"!==k&&(M=k),t.contrastColor=l.getContrast("auto"!==M&&M||t.color||e.color),A.color=M||!n(O)&&d.inside||0>p(O||0)||o.stacking?t.contrastColor:b):delete t.contrastColor,o.cursor&&(A.cursor=o.cursor)),L={r:d.borderRadius||0,rotation:y,padding:d.padding,zIndex:1},s.styledMode||(L.fill="auto"===k?t.color:k,L.stroke="auto"===S?t.color:S,L["stroke-width"]=d.borderWidth),u(L,((t,i)=>{void 0===t&&delete L[i]}))),!C||w&&n(v)&&!!C.div==!!d.useHTML&&(C.rotation&&d.rotation||C.rotation===d.rotation)||(C=void 0,j=!0),w&&n(v)&&(C?L.text=v:(C=l.label(v,0,0,d.shape,void 0,void 0,d.useHTML,void 0,"data-label")).addClass(" highcharts-data-label-color-"+t.colorIndex+" "+(d.className||"")+(d.useHTML?" highcharts-tracker":"")),C&&(C.options=d,C.attr(L),s.styledMode?A.width&&C.css({width:A.width,textOverflow:A.textOverflow}):C.css(A).shadow(d.shadow),a(C,"beforeAddingDataLabel",{labelOptions:d,point:t}),C.added||C.add(i),e.alignDataLabel(t,C,d,void 0,j),C.isActive=!0,h[g]&&h[g]!==C&&h[g].destroy(),h[g]=C))}));let d=h.length;for(;d--;)h[d]&&h[d].isActive?h[d].isActive=!1:(h[d]?.destroy(),h.splice(d,1));t.dataLabel=h[0],t.dataLabels=h}))),a(this,"afterDrawDataLabels")}function x(t,i,e,s,h,r){let n,o,a=this.chart,l=i.align,c=i.verticalAlign,d=t.box?0:t.padding||0,u=a.inverted?this.yAxis:this.xAxis,f=u?u.left-a.plotLeft:0,p=a.inverted?this.xAxis:this.yAxis,g=p?p.top-a.plotTop:0,{x:m=0,y:b=0}=i;return(n=(e.x||0)+d+f)<0&&("right"===l&&m>=0?(i.align="left",i.inside=!0):m-=n,o=!0),(n=(e.x||0)+s.width-d+f)>a.plotWidth&&("left"===l&&m<=0?(i.align="right",i.inside=!0):m+=a.plotWidth-n,o=!0),(n=e.y+d+g)<0&&("bottom"===c&&b>=0?(i.verticalAlign="top",i.inside=!0):b-=n,o=!0),(n=(e.y||0)+s.height-d+g)>a.plotHeight&&("top"===c&&b<=0?(i.verticalAlign="bottom",i.inside=!0):b+=a.plotHeight-n,o=!0),o&&(i.x=m,i.y=b,t.placed=!r,t.align(i,void 0,h)),o}function v(t,i){let e,s=[];if(l(t)&&!l(i))s=t.map((function(t){return d(t,i)}));else if(l(i)&&!l(t))s=i.map((function(i){return d(t,i)}));else if(l(t)||l(i)){if(l(t)&&l(i))for(e=Math.max(t.length,i.length);e--;)s[e]=d(t[e],i[e])}else s=d(t,i);return s}function y(t){let i=t.chart.options.plotOptions;return g(v(v(i?.series?.dataLabels,i?.[t.type]?.dataLabels),t.options.dataLabels))}function M(t,i,e,s,h){let r=this.chart,n=r.inverted,o=this.xAxis,a=o.reversed,l=((n?i.height:i.width)||0)/2,c=t.pointWidth,d=c?c/2:0;i.startXPos=n?h.x:a?-l-d:o.width-l+d,i.startYPos=n?a?this.yAxis.height-l+d:-l-d:h.y,s?"hidden"===i.visibility&&(i.show(),i.attr({opacity:0}).animate({opacity:1})):i.attr({opacity:1}).animate({opacity:0},void 0,i.hide),r.hasRendered&&(e&&i.attr({x:i.startXPos,y:i.startYPos}),i.placed=!0)}t.compose=function(t){let h=t.prototype;h.initDataLabels||(h.initDataLabels=m,h.initDataLabelsGroup=s,h.alignDataLabel=e,h.drawDataLabels=b,h.justifyDataLabel=x,h.setDataLabelStartPos=M,h.hasDataLabels=i)}}(s||(s={})),s})),e(i,"Series/Column/ColumnDataLabel.js",[i["Core/Series/DataLabel.js"],i["Core/Globals.js"],i["Core/Series/SeriesRegistry.js"],i["Core/Utilities.js"]],(function(t,i,e,s){var h;let{composed:r}=i,{series:n}=e,{merge:o,pick:a,pushUnique:l}=s;return function(i){function e(t,i,e,s,h){let r=this.chart.inverted,l=t.series,c=(l.xAxis?l.xAxis.len:this.chart.plotSizeX)||0,d=(l.yAxis?l.yAxis.len:this.chart.plotSizeY)||0,u=t.dlBox||t.shapeArgs,f=a(t.below,t.plotY>a(this.translatedThreshold,d)),p=a(e.inside,!!this.options.stacking);if(u){if(s=o(u),"allow"!==e.overflow||!1!==e.crop){s.y<0&&(s.height+=s.y,s.y=0);let t=s.y+s.height-d;t>0&&t<s.height-1&&(s.height-=t)}r&&(s={x:d-s.y-s.height,y:c-s.x-s.width,width:s.height,height:s.width}),p||(r?(s.x+=f?0:s.width,s.width=0):(s.y+=f?s.height:0,s.height=0))}e.align=a(e.align,!r||p?"center":f?"right":"left"),e.verticalAlign=a(e.verticalAlign,r||p?"middle":f?"top":"bottom"),n.prototype.alignDataLabel.call(this,t,i,e,s,h),e.inside&&t.contrastColor&&i.css({color:t.contrastColor})}i.compose=function(i){t.compose(n),l(r,"ColumnDataLabel")&&(i.prototype.alignDataLabel=e)}}(h||(h={})),h})),e(i,"Series/Bar/BarSeries.js",[i["Series/Column/ColumnSeries.js"],i["Core/Series/SeriesRegistry.js"],i["Core/Utilities.js"]],(function(t,i,e){let{extend:s,merge:h}=e;class r extends t{}return r.defaultOptions=h(t.defaultOptions,{}),s(r.prototype,{inverted:!0}),i.registerSeriesType("bar",r),r})),e(i,"Series/Scatter/ScatterSeriesDefaults.js",[],(function(){return{lineWidth:0,findNearestPointBy:"xy",jitter:{x:0,y:0},marker:{enabled:!0},tooltip:{headerFormat:'<span style="color:{point.color}">●</span> <span style="font-size: 0.8em"> {series.name}</span><br/>',pointFormat:"x: <b>{point.x}</b><br/>y: <b>{point.y}</b><br/>"}}})),e(i,"Series/Scatter/ScatterSeries.js",[i["Series/Scatter/ScatterSeriesDefaults.js"],i["Core/Series/SeriesRegistry.js"],i["Core/Utilities.js"]],(function(t,i,e){let{column:s,line:h}=i.seriesTypes,{addEvent:r,extend:n,merge:o}=e;class a extends h{applyJitter(){let t=this,i=this.options.jitter,e=this.points.length;i&&this.points.forEach((function(s,h){["x","y"].forEach((function(r,n){if(i[r]&&!s.isNull){let o=`plot${r.toUpperCase()}`,a=t[`${r}Axis`],l=i[r]*a.transA;if(a&&!a.logarithmic){let t=Math.max(0,(s[o]||0)-l),i=Math.min(a.len,(s[o]||0)+l);s[o]=t+(i-t)*function(t){let i=1e4*Math.sin(t);return i-Math.floor(i)}(h+n*e),"x"===r&&(s.clientX=s.plotX)}}}))}))}drawGraph(){this.options.lineWidth?super.drawGraph():this.graph&&(this.graph=this.graph.destroy())}}return a.defaultOptions=o(h.defaultOptions,t),n(a.prototype,{drawTracker:s.prototype.drawTracker,sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"]}),r(a,"afterTranslate",(function(){this.applyJitter()})),i.registerSeriesType("scatter",a),a})),e(i,"Series/CenteredUtilities.js",[i["Core/Globals.js"],i["Core/Series/Series.js"],i["Core/Utilities.js"]],(function(t,i,e){var s,h;let{deg2rad:r}=t,{fireEvent:n,isNumber:o,pick:a,relativeLength:l}=e;return(h=s||(s={})).getCenter=function(){let t,e,s,h=this.options,r=this.chart,c=2*(h.slicedOffset||0),d=r.plotWidth-2*c,u=r.plotHeight-2*c,f=h.center,p=Math.min(d,u),g=h.thickness,m=h.size,b=h.innerSize||0;"string"==typeof m&&(m=parseFloat(m)),"string"==typeof b&&(b=parseFloat(b));let x=[a(f[0],"50%"),a(f[1],"50%"),a(m&&m<0?void 0:h.size,"100%"),a(b&&b<0?void 0:h.innerSize||0,"0%")];for(!r.angular||this instanceof i||(x[3]=0),e=0;e<4;++e)s=x[e],t=e<2||2===e&&/%$/.test(s),x[e]=l(s,[d,u,p,x[2]][e])+(t?c:0);return x[3]>x[2]&&(x[3]=x[2]),o(g)&&2*g<x[2]&&g>0&&(x[3]=x[2]-2*g),n(this,"afterGetCenter",{positions:x}),x},h.getStartAndEndRadians=function(t,i){let e=o(t)?t:0,s=o(i)&&i>e&&i-e<360?i:e+360;return{start:r*(e+-90),end:r*(s+-90)}},s})),e(i,"Series/Pie/PiePoint.js",[i["Core/Animation/AnimationUtilities.js"],i["Core/Series/Point.js"],i["Core/Utilities.js"]],(function(t,i,e){let{setAnimation:s}=t,{addEvent:h,defined:r,extend:n,isNumber:o,pick:a,relativeLength:l}=e;class c extends i{getConnectorPath(t){let i=t.dataLabelPosition,e=t.options||{},s=e.connectorShape;return i&&(this.connectorShapes[s]||s).call(this,{...i.computed,alignment:i.alignment},i.connectorPosition,e)||[]}getTranslate(){return this.sliced&&this.slicedTranslation||{translateX:0,translateY:0}}haloPath(t){let i=this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(i.x,i.y,i.r+t,i.r+t,{innerR:i.r-1,start:i.start,end:i.end,borderRadius:i.borderRadius})}constructor(t,i,e){super(t,i,e),this.half=0,this.name??(this.name="Slice");let s=t=>{this.slice("select"===t.type)};h(this,"select",s),h(this,"unselect",s)}isValid(){return o(this.y)&&this.y>=0}setVisible(t,i=!0){t!==this.visible&&this.update({visible:t??!this.visible},i,void 0,!1)}slice(t,i,e){let h=this.series;s(e,h.chart),i=a(i,!0),this.sliced=this.options.sliced=t=r(t)?t:!this.sliced,h.options.data[h.data.indexOf(this)]=this.options,this.graphic&&this.graphic.animate(this.getTranslate())}}return n(c.prototype,{connectorShapes:{fixedOffset:function(t,i,e){let s=i.breakAt,h=i.touchingSliceAt;return[["M",t.x,t.y],e.softConnector?["C",t.x+("left"===t.alignment?-5:5),t.y,2*s.x-h.x,2*s.y-h.y,s.x,s.y]:["L",s.x,s.y],["L",h.x,h.y]]},straight:function(t,i){let e=i.touchingSliceAt;return[["M",t.x,t.y],["L",e.x,e.y]]},crookedLine:function(t,i,e){let{breakAt:s,touchingSliceAt:h}=i,{series:r}=this,[n,o,a]=r.center,c=a/2,{plotLeft:d,plotWidth:u}=r.chart,f="left"===t.alignment,{x:p,y:g}=t,m=s.x;if(e.crookDistance){let t=l(e.crookDistance,1);m=f?n+c+(u+d-n-c)*(1-t):d+(n-c)*t}else m=n+(o-g)*Math.tan((this.angle||0)-Math.PI/2);let b=[["M",p,g]];return(f?m<=p&&m>=s.x:m>=p&&m<=s.x)&&b.push(["L",m,g]),b.push(["L",s.x,s.y],["L",h.x,h.y]),b}}}),c})),e(i,"Series/Pie/PieSeriesDefaults.js",[],(function(){return{borderRadius:3,center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{connectorPadding:5,connectorShape:"crookedLine",crookDistance:void 0,distance:30,enabled:!0,formatter:function(){return this.point.isNull?void 0:this.point.name},softConnector:!0,x:0},fillColor:void 0,ignoreHiddenPoint:!0,inactiveOtherPoints:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0},borderColor:"#ffffff",borderWidth:1,lineWidth:void 0,states:{hover:{brightness:.1}}}})),e(i,"Series/Pie/PieSeries.js",[i["Series/CenteredUtilities.js"],i["Series/Column/ColumnSeries.js"],i["Core/Globals.js"],i["Series/Pie/PiePoint.js"],i["Series/Pie/PieSeriesDefaults.js"],i["Core/Series/Series.js"],i["Core/Series/SeriesRegistry.js"],i["Core/Renderer/SVG/Symbols.js"],i["Core/Utilities.js"]],(function(t,i,e,s,h,r,n,o,a){let{getStartAndEndRadians:l}=t,{noop:c}=e,{clamp:d,extend:u,fireEvent:f,merge:p,pick:g}=a;class m extends r{animate(t){let i=this,e=i.startAngleRad;t||i.points.forEach((function(t){let s=t.graphic,h=t.shapeArgs;s&&h&&(s.attr({r:g(t.startR,i.center&&i.center[3]/2),start:e,end:e}),s.animate({r:h.r,start:h.start,end:h.end},i.options.animation))}))}drawEmpty(){let t,i,e=this.startAngleRad,s=this.endAngleRad,h=this.options;0===this.total&&this.center?(t=this.center[0],i=this.center[1],this.graph||(this.graph=this.chart.renderer.arc(t,i,this.center[1]/2,0,e,s).addClass("highcharts-empty-series").add(this.group)),this.graph.attr({d:o.arc(t,i,this.center[2]/2,0,{start:e,end:s,innerR:this.center[3]/2})}),this.chart.styledMode||this.graph.attr({"stroke-width":h.borderWidth,fill:h.fillColor||"none",stroke:h.color||"#cccccc"})):this.graph&&(this.graph=this.graph.destroy())}drawPoints(){let t=this.chart.renderer;this.points.forEach((function(i){i.graphic&&i.hasNewShapeType()&&(i.graphic=i.graphic.destroy()),i.graphic||(i.graphic=t[i.shapeType](i.shapeArgs).add(i.series.group),i.delayedRendering=!0)}))}generatePoints(){super.generatePoints(),this.updateTotals()}getX(t,i,e,s){let h=this.center,r=this.radii?this.radii[e.index]||0:h[2]/2,n=s.dataLabelPosition?.distance||0,o=Math.asin(d((t-h[1])/(r+n),-1,1));return h[0]+Math.cos(o)*(r+n)*(i?-1:1)+(n>0?(i?-1:1)*(s.padding||0):0)}hasData(){return!!this.processedXData.length}redrawPoints(){let t,i,e,s,h=this,r=h.chart;this.drawEmpty(),h.group&&!r.styledMode&&h.group.shadow(h.options.shadow),h.points.forEach((function(n){let o={};i=n.graphic,!n.isNull&&i?(s=n.shapeArgs,t=n.getTranslate(),r.styledMode||(e=h.pointAttribs(n,n.selected&&"select")),n.delayedRendering?(i.setRadialReference(h.center).attr(s).attr(t),r.styledMode||i.attr(e).attr({"stroke-linejoin":"round"}),n.delayedRendering=!1):(i.setRadialReference(h.center),r.styledMode||p(!0,o,e),p(!0,o,s,t),i.animate(o)),i.attr({visibility:n.visible?"inherit":"hidden"}),i.addClass(n.getClassName(),!0)):i&&(n.graphic=i.destroy())}))}sortByAngle(t,i){t.sort((function(t,e){return void 0!==t.angle&&(e.angle-t.angle)*i}))}translate(t){f(this,"translate"),this.generatePoints();let i,e,s,h,r,n,o,a=this.options,c=a.slicedOffset,d=l(a.startAngle,a.endAngle),u=this.startAngleRad=d.start,p=(this.endAngleRad=d.end)-u,g=this.points,m=a.ignoreHiddenPoint,b=g.length,x=0;for(t||(this.center=t=this.getCenter()),n=0;n<b;n++){o=g[n],i=u+x*p,o.isValid()&&(!m||o.visible)&&(x+=o.percentage/100),e=u+x*p;let a={x:t[0],y:t[1],r:t[2]/2,innerR:t[3]/2,start:Math.round(1e3*i)/1e3,end:Math.round(1e3*e)/1e3};o.shapeType="arc",o.shapeArgs=a,(s=(e+i)/2)>1.5*Math.PI?s-=2*Math.PI:s<-Math.PI/2&&(s+=2*Math.PI),o.slicedTranslation={translateX:Math.round(Math.cos(s)*c),translateY:Math.round(Math.sin(s)*c)},h=Math.cos(s)*t[2]/2,r=Math.sin(s)*t[2]/2,o.tooltipPos=[t[0]+.7*h,t[1]+.7*r],o.half=s<-Math.PI/2||s>Math.PI/2?1:0,o.angle=s}f(this,"afterTranslate")}updateTotals(){let t,i,e=this.points,s=e.length,h=this.options.ignoreHiddenPoint,r=0;for(t=0;t<s;t++)(i=e[t]).isValid()&&(!h||i.visible)&&(r+=i.y);for(t=0,this.total=r;t<s;t++)(i=e[t]).percentage=r>0&&(i.visible||!h)?i.y/r*100:0,i.total=r}}return m.defaultOptions=p(r.defaultOptions,h),u(m.prototype,{axisTypes:[],directTouch:!0,drawGraph:void 0,drawTracker:i.prototype.drawTracker,getCenter:t.getCenter,getSymbol:c,invertible:!1,isCartesian:!1,noSharedTooltip:!0,pointAttribs:i.prototype.pointAttribs,pointClass:s,requireSorting:!1,searchPoint:c,trackerGroups:["group","dataLabelsGroup"]}),n.registerSeriesType("pie",m),m})),e(i,"Series/Pie/PieDataLabel.js",[i["Core/Series/DataLabel.js"],i["Core/Globals.js"],i["Core/Renderer/RendererUtilities.js"],i["Core/Series/SeriesRegistry.js"],i["Core/Utilities.js"]],(function(t,i,e,s,h){var r;let{composed:n,noop:o}=i,{distribute:a}=e,{series:l}=s,{arrayMax:c,clamp:d,defined:u,pick:f,pushUnique:p,relativeLength:g}=h;return function(i){let e={radialDistributionY:function(t,i){return(i.dataLabelPosition?.top||0)+t.distributeBox.pos},radialDistributionX:function(t,i,e,s,h){let r=h.dataLabelPosition;return t.getX(e<(r?.top||0)+2||e>(r?.bottom||0)-2?s:e,i.half,i,h)},justify:function(t,i,e,s){return s[0]+(t.half?-1:1)*(e+(i.dataLabelPosition?.distance||0))},alignToPlotEdges:function(t,i,e,s){let h=t.getBBox().width;return i?h+s:e-h-s},alignToConnectors:function(t,i,e,s){let h,r=0;return t.forEach((function(t){(h=t.dataLabel.getBBox().width)>r&&(r=h)})),i?r+s:e-r-s}};function s(t,i){let{center:e,options:s}=this,h=e[2]/2,r=t.angle||0,n=Math.cos(r),o=Math.sin(r),a=e[0]+n*h,l=e[1]+o*h,c=Math.min((s.slicedOffset||0)+(s.borderWidth||0),i/5);return{natural:{x:a+n*i,y:l+o*i},computed:{},alignment:i<0?"center":t.half?"right":"left",connectorPosition:{breakAt:{x:a+n*c,y:l+o*c},touchingSliceAt:{x:a,y:l}},distance:i}}function h(){let t,i,e,s=this,h=s.points,r=s.chart,n=r.plotWidth,o=r.plotHeight,d=r.plotLeft,p=Math.round(r.chartWidth/3),m=s.center,b=m[2]/2,x=m[1],v=[[],[]],y=[0,0,0,0],M=s.dataLabelPositioners,w=0;s.visible&&s.hasDataLabels?.()&&(h.forEach((t=>{(t.dataLabels||[]).forEach((t=>{t.shortened&&(t.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),t.shortened=!1)}))})),l.prototype.drawDataLabels.apply(s),h.forEach((t=>{(t.dataLabels||[]).forEach(((i,e)=>{let s=i.options,h=g(s?.distance||0,m[2]/2);0===e&&v[t.half].push(t),!u(s?.style?.width)&&i.getBBox().width>p&&(i.css({width:Math.round(.7*p)+"px"}),i.shortened=!0),i.dataLabelPosition=this.getDataLabelPosition(t,h),w=Math.max(w,h)}))})),v.forEach(((t,h)=>{let l,c,p,g=[],v=0;t.length&&(s.sortByAngle(t,h-.5),w>0&&(l=Math.max(0,x-b-w),c=Math.min(x+b+w,r.plotHeight),t.forEach((t=>{(t.dataLabels||[]).forEach((i=>{let e=i.dataLabelPosition;e&&e.distance>0&&(e.top=Math.max(0,x-b-e.distance),e.bottom=Math.min(x+b+e.distance,r.plotHeight),v=i.getBBox().height||21,i.lineHeight=r.renderer.fontMetrics(i.text||i).h+2*i.padding,t.distributeBox={target:(i.dataLabelPosition?.natural.y||0)-e.top+i.lineHeight/2,size:v,rank:t.y},g.push(t.distributeBox))}))})),a(g,p=c+v-l,p/5)),t.forEach((r=>{(r.dataLabels||[]).forEach((a=>{let l=a.options||{},c=r.distributeBox,p=a.dataLabelPosition,x=p?.natural.y||0,v=l.connectorPadding||0,w=a.lineHeight||21,k=(w-a.getBBox().height)/2,S=0,O=x,A="inherit";if(p){if(g&&u(c)&&p.distance>0&&(void 0===c.pos?A="hidden":(e=c.size,O=M.radialDistributionY(r,a))),l.justify)S=M.justify(r,a,b,m);else switch(l.alignTo){case"connectors":S=M.alignToConnectors(t,h,n,d);break;case"plotEdges":S=M.alignToPlotEdges(a,h,n,d);break;default:S=M.radialDistributionX(s,r,O-k,x,a)}if(p.attribs={visibility:A,align:p.alignment},p.posAttribs={x:S+(l.x||0)+({left:v,right:-v}[p.alignment]||0),y:O+(l.y||0)-w/2},p.computed.x=S,p.computed.y=O-k,f(l.crop,!0)){let t;S-(i=a.getBBox().width)<v&&1===h?(t=Math.round(i-S+v),y[3]=Math.max(t,y[3])):S+i>n-v&&0===h&&(t=Math.round(S+i-n+v),y[1]=Math.max(t,y[1])),O-e/2<0?y[0]=Math.max(Math.round(e/2-O),y[0]):O+e/2>o&&(y[2]=Math.max(Math.round(O+e/2-o),y[2])),p.sideOverflow=t}}}))})))})),(0===c(y)||this.verifyDataLabelOverflow(y))&&(this.placeDataLabels(),this.points.forEach((i=>{(i.dataLabels||[]).forEach((e=>{let{connectorColor:h,connectorWidth:n=1}=e.options||{},o=e.dataLabelPosition;if(n){let a;t=e.connector,o&&o.distance>0?(a=!t,t||(e.connector=t=r.renderer.path().addClass("highcharts-data-label-connector highcharts-color-"+i.colorIndex+(i.className?" "+i.className:"")).add(s.dataLabelsGroup)),r.styledMode||t.attr({"stroke-width":n,stroke:h||i.color||"#666666"}),t[a?"attr":"animate"]({d:i.getConnectorPath(e)}),t.attr({visibility:o.attribs?.visibility})):t&&(e.connector=t.destroy())}}))}))))}function r(){this.points.forEach((t=>{(t.dataLabels||[]).forEach((t=>{let i=t.dataLabelPosition;i?(i.sideOverflow&&(t.css({width:Math.max(t.getBBox().width-i.sideOverflow,0)+"px",textOverflow:(t.options?.style||{}).textOverflow||"ellipsis"}),t.shortened=!0),t.attr(i.attribs),t[t.moved?"animate":"attr"](i.posAttribs),t.moved=!0):t&&t.attr({y:-9999})})),delete t.distributeBox}),this)}function m(t){let i=this.center,e=this.options,s=e.center,h=e.minSize||80,r=h,n=null!==e.size;return!n&&(null!==s[0]?r=Math.max(i[2]-Math.max(t[1],t[3]),h):(r=Math.max(i[2]-t[1]-t[3],h),i[0]+=(t[3]-t[1])/2),null!==s[1]?r=d(r,h,i[2]-Math.max(t[0],t[2])):(r=d(r,h,i[2]-t[0]-t[2]),i[1]+=(t[0]-t[2])/2),r<i[2]?(i[2]=r,i[3]=Math.min(e.thickness?Math.max(0,r-2*e.thickness):Math.max(0,g(e.innerSize||0,r)),r),this.translate(i),this.drawDataLabels&&this.drawDataLabels()):n=!0),n}i.compose=function(i){if(t.compose(l),p(n,"PieDataLabel")){let t=i.prototype;t.dataLabelPositioners=e,t.alignDataLabel=o,t.drawDataLabels=h,t.getDataLabelPosition=s,t.placeDataLabels=r,t.verifyDataLabelOverflow=m}}}(r||(r={})),r})),e(i,"Core/Geometry/GeometryUtilities.js",[],(function(){var t,i;return(i=t||(t={})).getCenterOfPoints=function(t){let i=t.reduce(((t,i)=>(t.x+=i.x,t.y+=i.y,t)),{x:0,y:0});return{x:i.x/t.length,y:i.y/t.length}},i.getDistanceBetweenPoints=function(t,i){return Math.sqrt(Math.pow(i.x-t.x,2)+Math.pow(i.y-t.y,2))},i.getAngleBetweenPoints=function(t,i){return Math.atan2(i.x-t.x,i.y-t.y)},i.pointInPolygon=function({x:t,y:i},e){let s,h,r=e.length,n=!1;for(s=0,h=r-1;s<r;h=s++){let[r,o]=e[s],[a,l]=e[h];o>i!=l>i&&t<(a-r)*(i-o)/(l-o)+r&&(n=!n)}return n},t})),e(i,"Extensions/OverlappingDataLabels.js",[i["Core/Geometry/GeometryUtilities.js"],i["Core/Utilities.js"]],(function(t,i){let{pointInPolygon:e}=t,{addEvent:s,fireEvent:h,objectEach:r,pick:n}=i;function o(t){let i,s,r,n,o,l=t.length,c=(t,i)=>!(i.x>=t.x+t.width||i.x+i.width<=t.x||i.y>=t.y+t.height||i.y+i.height<=t.y),d=(t,i)=>{for(let s of t)if(e({x:s[0],y:s[1]},i))return!0;return!1},u=!1;for(let e=0;e<l;e++)(i=t[e])&&(i.oldOpacity=i.opacity,i.newOpacity=1,i.absoluteBox=function(t){if(t&&(!t.alignAttr||t.placed)){let i=t.box?0:t.padding||0,e=t.alignAttr||{x:t.attr("x"),y:t.attr("y")},s=t.getBBox();return t.width=s.width,t.height=s.height,{x:e.x+(t.parentGroup?.translateX||0)+i,y:e.y+(t.parentGroup?.translateY||0)+i,width:(t.width||0)-2*i,height:(t.height||0)-2*i,polygon:s?.polygon}}}(i));t.sort(((t,i)=>(i.labelrank||0)-(t.labelrank||0)));for(let i=0;i<l;++i){n=(s=t[i])&&s.absoluteBox;let e=n?.polygon;for(let h=i+1;h<l;++h){o=(r=t[h])&&r.absoluteBox;let i=!1;if(n&&o&&s!==r&&0!==s.newOpacity&&0!==r.newOpacity&&"hidden"!==s.visibility&&"hidden"!==r.visibility){let t=o.polygon;if(e&&t&&e!==t?d(e,t)&&(i=!0):c(n,o)&&(i=!0),i){let t=s.labelrank<r.labelrank?s:r,i=t.text;t.newOpacity=0,i?.element.querySelector("textPath")&&i.hide()}}}}for(let i of t)a(i,this)&&(u=!0);u&&h(this,"afterHideAllOverlappingLabels")}function a(t,i){let e,s,r=!1;return t&&(s=t.newOpacity,t.oldOpacity!==s&&(t.hasClass("highcharts-data-label")?(t[s?"removeClass":"addClass"]("highcharts-data-label-hidden"),e=function(){i.styledMode||t.css({pointerEvents:s?"auto":"none"})},r=!0,t[t.isOld?"animate":"attr"]({opacity:s},void 0,e),h(i,"afterHideOverlappingLabel")):t.attr({opacity:s})),t.isOld=!0),r}function l(){let t=this,i=[];for(let e of t.labelCollectors||[])i=i.concat(e());for(let e of t.yAxis||[])e.stacking&&e.options.stackLabels&&!e.options.stackLabels.allowOverlap&&r(e.stacking.stacks,(t=>{r(t,(t=>{t.label&&i.push(t.label)}))}));for(let e of t.series||[])if(e.visible&&e.hasDataLabels?.()){let s=e=>{for(let s of e)s.visible&&(s.dataLabels||[]).forEach((e=>{let h=e.options||{};e.labelrank=n(h.labelrank,s.labelrank,s.shapeArgs?.height),h.allowOverlap??Number(h.distance)>0?(e.oldOpacity=e.opacity,e.newOpacity=1,a(e,t)):i.push(e)}))};s(e.nodes||[]),s(e.points)}this.hideOverlappingLabels(i)}return{compose:function(t){let i=t.prototype;i.hideOverlappingLabels||(i.hideOverlappingLabels=o,s(t,"render",l))}}})),e(i,"Extensions/BorderRadius.js",[i["Core/Defaults.js"],i["Core/Globals.js"],i["Core/Utilities.js"]],(function(t,i,e){let{defaultOptions:s}=t,{noop:h}=i,{addEvent:r,extend:n,isObject:o,merge:a,relativeLength:l}=e,c={radius:0,scope:"stack",where:void 0},d=h,u=h;function f(t,i,e,s,h={}){let r=d(t,i,e,s,h),{innerR:n=0,r:o=e,start:a=0,end:c=0}=h;if(h.open||!h.borderRadius)return r;let u=c-a,f=Math.sin(u/2),p=Math.max(Math.min(l(h.borderRadius||0,o-n),(o-n)/2,o*f/(1+f)),0),g=Math.min(p,u/Math.PI*2*n),m=r.length-1;for(;m--;)!function(t,i,e){let s,h,r,n=t[i],o=t[i+1];if("Z"===o[0]&&(o=t[0]),"M"!==n[0]&&"L"!==n[0]||"A"!==o[0]?"A"===n[0]&&("M"===o[0]||"L"===o[0])&&(s=o,h=n):(s=n,h=o,r=!0),s&&h&&h.params){let n=h[1],o=h[5],a=h.params,{start:l,end:c,cx:d,cy:u}=a,f=o?n-e:n+e,p=f?Math.asin(e/f):0,g=o?p:-p,m=Math.cos(p)*f;r?(a.start=l+g,s[1]=d+m*Math.cos(l),s[2]=u+m*Math.sin(l),t.splice(i+1,0,["A",e,e,0,0,1,d+n*Math.cos(a.start),u+n*Math.sin(a.start)])):(a.end=c-g,h[6]=d+n*Math.cos(a.end),h[7]=u+n*Math.sin(a.end),t.splice(i+1,0,["A",e,e,0,0,1,d+m*Math.cos(c),u+m*Math.sin(c)])),h[4]=Math.abs(a.end-a.start)<Math.PI?0:1}}(r,m,m>1?g:p);return r}function p(){if(this.options.borderRadius&&(!this.chart.is3d||!this.chart.is3d())){let{options:t,yAxis:i}=this,e="percent"===t.stacking,h=s.plotOptions?.[this.type]?.borderRadius,r=g(t.borderRadius,o(h)?h:{}),a=i.options.reversed;for(let s of this.points){let{shapeArgs:h}=s;if("roundedRect"===s.shapeType&&h){let{width:o=0,height:c=0,y:d=0}=h,u=d,f=c;if("stack"===r.scope&&s.stackTotal){let h=i.translate(e?100:s.stackTotal,!1,!0,!1,!0),r=i.translate(t.threshold||0,!1,!0,!1,!0),n=this.crispCol(0,Math.min(h,r),0,Math.abs(h-r));u=n.y,f=n.height}let p=(s.negative?-1:1)*(a?-1:1)==-1,g=r.where;!g&&this.is("waterfall")&&Math.abs((s.yBottom||0)-(this.translatedThreshold||0))>this.borderWidth&&(g="all"),g||(g="end");let m=Math.min(l(r.radius,o),o/2,"all"===g?c/2:1/0)||0;"end"===g&&(p&&(u-=m),f+=m),n(h,{brBoxHeight:f,brBoxY:u,r:m})}}}}function g(t,i){return o(t)||(t={radius:t||0}),a(c,i,t)}function m(){let t=g(this.options.borderRadius);for(let i of this.points){let e=i.shapeArgs;e&&(e.borderRadius=l(t.radius,(e.r||0)-(e.innerR||0)))}}function b(t,i,e,s,h={}){let r=u(t,i,e,s,h),{r:n=0,brBoxHeight:o=s,brBoxY:a=i}=h,l=i-a,c=a+o-(i+s),d=l-n>-.1?0:n,f=c-n>-.1?0:n,p=Math.max(d&&l,0),g=Math.max(f&&c,0),m=[t+d,i],b=[t+e-d,i],x=[t+e,i+d],v=[t+e,i+s-f],y=[t+e-f,i+s],M=[t+f,i+s],w=[t,i+s-f],k=[t,i+d],S=(t,i)=>Math.sqrt(Math.pow(t,2)-Math.pow(i,2));if(p){let t=S(d,d-p);m[0]-=t,b[0]+=t,x[1]=k[1]=i+d-p}if(s<d-p){let h=S(d,d-p-s);x[0]=v[0]=t+e-d+h,y[0]=Math.min(x[0],y[0]),M[0]=Math.max(v[0],M[0]),w[0]=k[0]=t+d-h,x[1]=k[1]=i+s}if(g){let t=S(f,f-g);y[0]+=t,M[0]-=t,v[1]=w[1]=i+s-f+g}if(s<f-g){let h=S(f,f-g-s);x[0]=v[0]=t+e-f+h,b[0]=Math.min(x[0],b[0]),m[0]=Math.max(v[0],m[0]),w[0]=k[0]=t+f-h,v[1]=w[1]=i}return r.length=0,r.push(["M",...m],["L",...b],["A",d,d,0,0,1,...x],["L",...v],["A",f,f,0,0,1,...y],["L",...M],["A",f,f,0,0,1,...w],["L",...k],["A",d,d,0,0,1,...m],["Z"]),r}return{compose:function(t,i,e){let s=t.types.pie;if(!i.symbolCustomAttribs.includes("borderRadius")){let h=e.prototype.symbols;r(t,"afterColumnTranslate",p,{order:9}),r(s,"afterTranslate",m),i.symbolCustomAttribs.push("borderRadius","brBoxHeight","brBoxY"),d=h.arc,u=h.roundedRect,h.arc=f,h.roundedRect=b}},optionsToObject:g}})),e(i,"Core/Responsive.js",[i["Core/Utilities.js"]],(function(t){var i;let{diffObjects:e,extend:s,find:h,merge:r,pick:n,uniqueKey:o}=t;return function(t){function i(t,i){let e=t.condition;(e.callback||function(){return this.chartWidth<=n(e.maxWidth,Number.MAX_VALUE)&&this.chartHeight<=n(e.maxHeight,Number.MAX_VALUE)&&this.chartWidth>=n(e.minWidth,0)&&this.chartHeight>=n(e.minHeight,0)}).call(this)&&i.push(t._id)}function a(t,i){let s,n=this.options.responsive,a=this.currentResponsive,l=[];!i&&n&&n.rules&&n.rules.forEach((t=>{void 0===t._id&&(t._id=o()),this.matchResponsiveRule(t,l)}),this);let c=r(...l.map((t=>h((n||{}).rules||[],(i=>i._id===t)))).map((t=>t&&t.chartOptions)));c.isResponsiveOptions=!0,l=l.toString()||void 0,l===(a&&a.ruleIds)||(a&&(this.currentResponsive=void 0,this.updatingResponsive=!0,this.update(a.undoOptions,t,!0),this.updatingResponsive=!1),l?((s=e(c,this.options,!0,this.collectionsWithUpdate)).isResponsiveOptions=!0,this.currentResponsive={ruleIds:l,mergedOptions:c,undoOptions:s},this.updatingResponsive||this.update(c,t,!0)):this.currentResponsive=void 0)}t.compose=function(t){let e=t.prototype;return e.matchResponsiveRule||s(e,{matchResponsiveRule:i,setResponsive:a}),t}}(i||(i={})),i})),e(i,"masters/highcharts.src.js",[i["Core/Globals.js"],i["Core/Utilities.js"],i["Core/Defaults.js"],i["Core/Animation/Fx.js"],i["Core/Animation/AnimationUtilities.js"],i["Core/Renderer/HTML/AST.js"],i["Core/Templating.js"],i["Core/Renderer/RendererRegistry.js"],i["Core/Renderer/RendererUtilities.js"],i["Core/Renderer/SVG/SVGElement.js"],i["Core/Renderer/SVG/SVGRenderer.js"],i["Core/Renderer/HTML/HTMLElement.js"],i["Core/Axis/Axis.js"],i["Core/Axis/DateTimeAxis.js"],i["Core/Axis/LogarithmicAxis.js"],i["Core/Axis/PlotLineOrBand/PlotLineOrBand.js"],i["Core/Axis/Tick.js"],i["Core/Tooltip.js"],i["Core/Series/Point.js"],i["Core/Pointer.js"],i["Core/Legend/Legend.js"],i["Core/Legend/LegendSymbol.js"],i["Core/Chart/Chart.js"],i["Extensions/ScrollablePlotArea.js"],i["Core/Axis/Stacking/StackingAxis.js"],i["Core/Axis/Stacking/StackItem.js"],i["Core/Series/Series.js"],i["Core/Series/SeriesRegistry.js"],i["Series/Column/ColumnDataLabel.js"],i["Series/Pie/PieDataLabel.js"],i["Core/Series/DataLabel.js"],i["Extensions/OverlappingDataLabels.js"],i["Extensions/BorderRadius.js"],i["Core/Responsive.js"],i["Core/Color/Color.js"],i["Core/Time.js"]],(function(t,i,e,s,h,r,n,o,a,l,c,d,u,f,p,g,m,b,x,v,y,M,w,k,S,O,A,L,C,j,T,P,E,z,D,N){return t.AST=r,t.Axis=u,t.Chart=w,t.Color=D,t.DataLabel=T,t.Fx=s,t.HTMLElement=d,t.Legend=y,t.LegendSymbol=M,t.OverlappingDataLabels=t.OverlappingDataLabels||P,t.PlotLineOrBand=g,t.Point=x,t.Pointer=v,t.RendererRegistry=o,t.Series=A,t.SeriesRegistry=L,t.StackItem=O,t.SVGElement=l,t.SVGRenderer=c,t.Templating=n,t.Tick=m,t.Time=N,t.Tooltip=b,t.animate=h.animate,t.animObject=h.animObject,t.chart=w.chart,t.color=D.parse,t.dateFormat=n.dateFormat,t.defaultOptions=e.defaultOptions,t.distribute=a.distribute,t.format=n.format,t.getDeferredAnimation=h.getDeferredAnimation,t.getOptions=e.getOptions,t.numberFormat=n.numberFormat,t.seriesType=L.seriesType,t.setAnimation=h.setAnimation,t.setOptions=e.setOptions,t.stop=h.stop,t.time=e.defaultTime,t.timers=s.timers,E.compose(t.Series,t.SVGElement,t.SVGRenderer),C.compose(t.Series.types.column),T.compose(t.Series),f.compose(t.Axis),d.compose(t.SVGRenderer),y.compose(t.Chart),p.compose(t.Axis),P.compose(t.Chart),j.compose(t.Series.types.pie),g.compose(t.Chart,t.Axis),v.compose(t.Chart),z.compose(t.Chart),k.compose(t.Axis,t.Chart,t.Series),S.compose(t.Axis,t.Chart,t.Series),b.compose(t.Pointer),i.extend(t,i),t})),i["masters/highcharts.src.js"]._modules=i,i["masters/highcharts.src.js"]},t.exports?(e.default=e,t.exports=i&&i.document?e(i):e):(i.Highcharts&&i.Highcharts.error(16,!0),i.Highcharts=e(i))}));class a{parseSerie(t){return Array.isArray(t)?t.map((t=>this.chartSerieToSeriesOptions(t))):[this.chartSerieToSeriesOptions(t)]}parseAxis(t){return Array.isArray(t)?t.map((t=>this.chartAxisToAxisOptions(t))):this.chartAxisToAxisOptions(t)}parseTitle(t){return{text:t}}parseSubTitle(t){return{text:t}}buildFormatterTooltip(t){const i=Array.isArray(t)?t:[t];return{formatter:function(t){const e=i.findIndex((t=>t.name===this.series.name&&t.toolTipFormatter));return-1!==e?i[e].toolTipFormatter(this.series.name,this.x,this.y,this.point.name,this.point.percentage):t.defaultFormatter.call(this,t)}}}buildOnClickCallBack(t){return function(){t.emit({name:this.series.name,data:this.series.data,type:this.series.type,yAxis:this.x})}}buildResposiveConfig(){return{rules:[{condition:{maxWidth:500},chartOptions:{legend:{enabled:!1},xAxis:{labels:{enabled:!1},gridLineWidth:0},yAxis:{labels:{enabled:!1},gridLineWidth:0}}},{condition:{maxWidth:600},chartOptions:{xAxis:{labels:{style:{fontSize:"10px"}}},yAxis:{labels:{style:{fontSize:"10px"}}},title:{style:{fontSize:"14px"}},subtitle:{style:{fontSize:"12px"}}}},{condition:{maxWidth:400},chartOptions:{chart:{margin:[10,10,15,10]},subtitle:{text:null},title:{text:null}}}]}}buildDefaultChartOptions(){return{credits:{enabled:!1}}}chartSerieToSeriesOptions(t){const{name:i,data:e,color:s,showDataLabel:h,type:r,yAxis:n}=t;return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},i&&{name:i}),r&&{type:r}),e&&{data:e}),s&&{color:s}),h&&{dataLabels:{enabled:h}}),void 0!==n&&{yAxis:n})}chartAxisToAxisOptions(t){const{categories:i,color:e,text:s,invertedPosition:h,formatter:r,type:n}=t;return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},i&&{categories:i}),s&&{title:Object.assign({text:s},e&&{style:{color:e}})}),r&&{labels:{formatter:function(){return r(this.value)}}}),h&&{opposite:h}),n&&{type:n})}}class l extends a{buildOptions(t,i,e,s){return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({chart:Object.assign(Object.assign({type:"bar"},s.width&&{width:s.width}),s.height&&{height:s.height}),title:this.parseTitle(s.title)},s.subTitle&&{subtitle:this.parseSubTitle(s.subTitle)}),e&&{yAxis:this.parseAxis(e)}),i&&{xAxis:this.parseAxis(i)}),{series:this.parseSerie(t)}),this.buildResposiveConfig()),this.buildDefaultChartOptions()),{tooltip:this.buildFormatterTooltip(t),legend:{enabled:s.legendEnabled}}),s.onClickSerie&&{plotOptions:{series:{cursor:"pointer",point:{events:{click:this.buildOnClickCallBack(s.onClickSerie)}}}}})}render(t,i,e,s,h){this.chart=o.chart(t,this.buildOptions(i,e,s,h))}destroy(){var t;null===(t=this.chart)||void 0===t||t.destroy()}}class c extends a{buildOptions(t,i,e,s){return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({chart:Object.assign(Object.assign({type:"column"},s.width&&{width:s.width}),s.height&&{height:s.height}),title:this.parseTitle(s.title)},s.subTitle&&{subtitle:this.parseSubTitle(s.subTitle)}),e&&{yAxis:this.parseAxis(e)}),i&&{xAxis:this.parseAxis(i)}),{series:this.parseSerie(t)}),this.buildResposiveConfig()),this.buildDefaultChartOptions()),{tooltip:this.buildFormatterTooltip(t),legend:{enabled:s.legendEnabled}}),s.onClickSerie&&{plotOptions:{series:{cursor:"pointer",point:{events:{click:this.buildOnClickCallBack(s.onClickSerie)}}}}})}render(t,i,e,s,h){this.chart=o.chart(t,this.buildOptions(i,e,s,h))}destroy(){var t;null===(t=this.chart)||void 0===t||t.destroy()}}class d extends a{buildOptions(t,i){return Object.assign(Object.assign(Object.assign(Object.assign({chart:Object.assign(Object.assign({type:"pie"},i.width&&{width:i.width}),i.height&&{height:i.height}),title:this.parseTitle(i.title)},i.subTitle&&{subtitle:this.parseSubTitle(i.subTitle)}),{series:this.parseSerie(t),tooltip:this.buildFormatterTooltip(t),legend:{enabled:i.legendEnabled},plotOptions:{series:{dataLabels:[{enabled:!0,distance:10,format:"{point.name}"},{enabled:!0,distance:-20,format:"{point.y}",style:{fontSize:"0.9em"}}]},pie:Object.assign({cursor:"pointer",innerSize:"70%"},i.onClickSerie&&{point:{events:{click:this.buildOnClickCallBack(i.onClickSerie)}}})}}),this.buildResposiveConfig()),this.buildDefaultChartOptions())}render(t,i,e,s,h){this.chart=o.chart(t,this.buildOptions(i,h))}destroy(){var t;null===(t=this.chart)||void 0===t||t.destroy()}}class u extends a{buildOptions(t,i,e,s){return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({chart:Object.assign(Object.assign({},s.width&&{width:s.width}),s.height&&{height:s.height}),title:this.parseTitle(s.title)},s.subTitle&&{subtitle:this.parseSubTitle(s.subTitle)}),e&&{yAxis:this.parseAxis(e)}),i&&{xAxis:this.parseAxis(i)}),{series:this.parseSerie(t)}),this.buildResposiveConfig()),this.buildDefaultChartOptions()),{tooltip:this.buildFormatterTooltip(t),legend:{enabled:s.legendEnabled}}),s.onClickSerie&&{plotOptions:{series:{cursor:"pointer",point:{events:{click:this.buildOnClickCallBack(s.onClickSerie)}}}}})}render(t,i,e,s,h){this.chart=o.chart(t,this.buildOptions(i,e,s,h))}destroy(){var t;null===(t=this.chart)||void 0===t||t.destroy()}}class f extends a{buildOptions(t,i){return Object.assign(Object.assign(Object.assign(Object.assign({chart:Object.assign(Object.assign({type:"pie"},i.width&&{width:i.width}),i.height&&{height:i.height}),title:this.parseTitle(i.title)},i.subTitle&&{subtitle:this.parseSubTitle(i.subTitle)}),{series:this.parseSerie(t),tooltip:this.buildFormatterTooltip(t),legend:{enabled:i.legendEnabled},plotOptions:{series:Object.assign({dataLabels:[{enabled:!0,distance:10},{enabled:!0,distance:-40,format:"{point.percentage:.1f}%",style:{fontSize:"1.2em",textOutline:"none",opacity:.7},filter:{property:"percentage",operator:">",value:4}}],cursor:"pointer"},i.onClickSerie&&{point:{events:{click:this.buildOnClickCallBack(i.onClickSerie)}}})}}),this.buildResposiveConfig()),this.buildDefaultChartOptions())}render(t,i,e,s,h){this.chart=o.chart(t,this.buildOptions(i,h))}destroy(){var t;null===(t=this.chart)||void 0===t||t.destroy()}}const p=class{constructor(e){t(this,e),this.ezSerieClick=i(this,"ezSerieClick",7),this.STRATEGY_BY_CHART_TYPE=new Map,this.type=n.LINE,this.xAxis=void 0,this.yAxis=void 0,this.chartTitle="",this.chartSubTitle="",this.legendEnabled=!0,this.series=void 0,this.width=void 0,this.height=void 0,this.initializeStrategies()}initializeStrategies(){this.STRATEGY_BY_CHART_TYPE.set(n.COLUMN,new c),this.STRATEGY_BY_CHART_TYPE.set(n.BAR,new l),this.STRATEGY_BY_CHART_TYPE.set(n.LINE,new u),this.STRATEGY_BY_CHART_TYPE.set(n.PIE,new f),this.STRATEGY_BY_CHART_TYPE.set(n.DONUT,new d)}renderChart(){this.chartContext.render(this._container,this.series,this.xAxis,this.yAxis,{title:this.chartTitle,subTitle:this.chartSubTitle,legendEnabled:this.legendEnabled,onClickSerie:this.ezSerieClick,width:this.width,height:this.height})}componentWillLoad(){this.setChartStrategy()}componentWillUpdate(){this.renderChart()}componentDidLoad(){this.renderChart()}disconnectedCallback(){this.chartContext.destroy()}handleTypeChange(){this.setChartStrategy()}setChartStrategy(){const t=this.STRATEGY_BY_CHART_TYPE.get(this.type);this.chartContext=new r(t||new u)}render(){return e("div",{ref:t=>this._container=t})}static get watchers(){return{type:["handleTypeChange"]}}};p.style=":host{display:flex;flex-direction:column;width:100%}";export{p as ez_chart}