@ntlab/ntjs-assets 2.73.0 → 2.74.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (838) hide show
  1. package/assets/js/cdn.json +1 -1
  2. package/assets/js/exif-js/exif.min.js +1 -8
  3. package/assets/js/highcharts/css/annotations/popup.css +86 -45
  4. package/assets/js/highcharts/css/highcharts.css +40 -30
  5. package/assets/js/highcharts/css/stocktools/gui.css +28 -11
  6. package/assets/js/highcharts/es-modules/Accessibility/Components/InfoRegionsComponent.js +3 -3
  7. package/assets/js/highcharts/es-modules/Accessibility/Components/LegendComponent.js +10 -1
  8. package/assets/js/highcharts/es-modules/Accessibility/Components/MenuComponent.js +23 -22
  9. package/assets/js/highcharts/es-modules/Accessibility/HighContrastMode.js +0 -5
  10. package/assets/js/highcharts/es-modules/Core/Axis/AxisDefaults.js +5 -0
  11. package/assets/js/highcharts/es-modules/Core/Axis/OrdinalAxis.js +19 -11
  12. package/assets/js/highcharts/es-modules/Core/Axis/PlotLineOrBand/PlotLineOrBand.js +14 -1
  13. package/assets/js/highcharts/es-modules/Core/Axis/RadialAxis.js +3 -4
  14. package/assets/js/highcharts/es-modules/Core/Axis/Tick.js +1 -1
  15. package/assets/js/highcharts/es-modules/Core/Axis/WaterfallAxis.js +4 -4
  16. package/assets/js/highcharts/es-modules/Core/Chart/Chart.js +31 -25
  17. package/assets/js/highcharts/es-modules/Core/Chart/ChartDefaults.js +13 -0
  18. package/assets/js/highcharts/es-modules/Core/Chart/GanttChart.js +4 -2
  19. package/assets/js/highcharts/es-modules/Core/Chart/StockChart.js +1 -1
  20. package/assets/js/highcharts/es-modules/Core/Color/Color.js +4 -8
  21. package/assets/js/highcharts/es-modules/Core/Defaults.js +4 -0
  22. package/assets/js/highcharts/es-modules/Core/Globals.js +1 -1
  23. package/assets/js/highcharts/es-modules/Core/HttpUtilities.js +45 -38
  24. package/assets/js/highcharts/es-modules/Core/Pointer.js +3 -4
  25. package/assets/js/highcharts/es-modules/Core/Renderer/HTML/AST.js +14 -14
  26. package/assets/js/highcharts/es-modules/Core/Renderer/HTML/HTMLElement.js +6 -2
  27. package/assets/js/highcharts/es-modules/Core/Renderer/SVG/SVGRenderer.js +4 -1
  28. package/assets/js/highcharts/es-modules/Core/Series/DataLabel.js +4 -2
  29. package/assets/js/highcharts/es-modules/Core/Series/Series.js +16 -6
  30. package/assets/js/highcharts/es-modules/Core/Series/SeriesDefaults.js +1 -3
  31. package/assets/js/highcharts/es-modules/Core/Templating.js +6 -5
  32. package/assets/js/highcharts/es-modules/Core/Tooltip.js +3 -1
  33. package/assets/js/highcharts/es-modules/Data/Connectors/CSVConnector.js +32 -15
  34. package/assets/js/highcharts/es-modules/Data/Connectors/DataConnector.js +107 -12
  35. package/assets/js/highcharts/es-modules/Data/Connectors/GoogleSheetsConnector.js +29 -17
  36. package/assets/js/highcharts/es-modules/Data/Connectors/HTMLTableConnector.js +3 -3
  37. package/assets/js/highcharts/es-modules/Data/Connectors/JSONConnector.js +37 -16
  38. package/assets/js/highcharts/es-modules/Data/Converters/HTMLTableConverter.js +1 -1
  39. package/assets/js/highcharts/es-modules/Data/DataPool.js +15 -4
  40. package/assets/js/highcharts/es-modules/Extensions/Annotations/Annotation.js +10 -7
  41. package/assets/js/highcharts/es-modules/Extensions/Annotations/AnnotationChart.js +7 -3
  42. package/assets/js/highcharts/es-modules/Extensions/Annotations/AnnotationDefaults.js +38 -12
  43. package/assets/js/highcharts/es-modules/Extensions/Annotations/Controllables/ControllableLabel.js +10 -3
  44. package/assets/js/highcharts/es-modules/Extensions/Annotations/NavigationBindingsDefaults.js +1 -1
  45. package/assets/js/highcharts/es-modules/Extensions/Annotations/Popup/PopupAnnotations.js +10 -4
  46. package/assets/js/highcharts/es-modules/Extensions/Annotations/Popup/PopupComposition.js +1 -1
  47. package/assets/js/highcharts/es-modules/Extensions/Annotations/Types/BasicAnnotation.js +0 -3
  48. package/assets/js/highcharts/es-modules/Extensions/Annotations/Types/CrookedLine.js +97 -94
  49. package/assets/js/highcharts/es-modules/Extensions/Annotations/Types/ElliottWave.js +43 -36
  50. package/assets/js/highcharts/es-modules/Extensions/Annotations/Types/Fibonacci.js +86 -82
  51. package/assets/js/highcharts/es-modules/Extensions/Annotations/Types/FibonacciTimeZones.js +74 -71
  52. package/assets/js/highcharts/es-modules/Extensions/Annotations/Types/InfinityLine.js +17 -3
  53. package/assets/js/highcharts/es-modules/Extensions/Annotations/Types/Measure.js +229 -226
  54. package/assets/js/highcharts/es-modules/Extensions/Annotations/Types/Pitchfork.js +39 -40
  55. package/assets/js/highcharts/es-modules/Extensions/Annotations/Types/TimeCycles.js +56 -52
  56. package/assets/js/highcharts/es-modules/Extensions/Annotations/Types/Tunnel.js +80 -76
  57. package/assets/js/highcharts/es-modules/Extensions/Annotations/Types/VerticalLine.js +57 -53
  58. package/assets/js/highcharts/es-modules/Extensions/Boost/BoostSeries.js +22 -3
  59. package/assets/js/highcharts/es-modules/Extensions/DownloadURL.js +41 -8
  60. package/assets/js/highcharts/es-modules/Extensions/ExportData/ExportData.js +876 -780
  61. package/assets/js/highcharts/es-modules/Extensions/ExportData/ExportDataDefaults.js +67 -13
  62. package/assets/js/highcharts/es-modules/Extensions/Exporting/Exporting.js +1091 -546
  63. package/assets/js/highcharts/es-modules/Extensions/Exporting/ExportingDefaults.js +52 -36
  64. package/assets/js/highcharts/es-modules/Extensions/Exporting/Fullscreen.js +2 -2
  65. package/assets/js/highcharts/es-modules/Extensions/NonCartesianSeriesZoom/NonCartesianSeriesZoom.js +311 -0
  66. package/assets/js/highcharts/es-modules/Extensions/OfflineExporting/OfflineExporting.js +254 -575
  67. package/assets/js/highcharts/es-modules/Extensions/OfflineExporting/OfflineExportingDefaults.js +9 -38
  68. package/assets/js/highcharts/es-modules/Extensions/Pane/Pane.js +1 -1
  69. package/assets/js/highcharts/es-modules/Extensions/Pane/PaneDefaults.js +9 -1
  70. package/assets/js/highcharts/es-modules/Extensions/Themes/Adaptive.js +1009 -0
  71. package/assets/js/highcharts/es-modules/Maps/MapNavigation.js +1 -1
  72. package/assets/js/highcharts/es-modules/Series/Bubble/BubblePoint.js +2 -2
  73. package/assets/js/highcharts/es-modules/Series/Column/ColumnSeriesDefaults.js +1 -2
  74. package/assets/js/highcharts/es-modules/Series/DragNodesComposition.js +4 -0
  75. package/assets/js/highcharts/es-modules/Series/Flags/FlagsSeriesDefaults.js +2 -0
  76. package/assets/js/highcharts/es-modules/Series/GraphLayoutComposition.js +2 -1
  77. package/assets/js/highcharts/es-modules/Series/Heatmap/HeatmapSeriesDefaults.js +1 -2
  78. package/assets/js/highcharts/es-modules/Series/Item/ItemSeries.js +1 -1
  79. package/assets/js/highcharts/es-modules/Series/PackedBubble/PackedBubblePoint.js +5 -0
  80. package/assets/js/highcharts/es-modules/Series/Pie/PieSeriesDefaults.js +1 -2
  81. package/assets/js/highcharts/es-modules/Series/PolarComposition.js +1 -1
  82. package/assets/js/highcharts/es-modules/Series/SolidGauge/SolidGaugeSeries.js +7 -2
  83. package/assets/js/highcharts/es-modules/Series/Treegraph/TreegraphSeries.js +3 -1
  84. package/assets/js/highcharts/es-modules/Series/Variwide/VariwideSeries.js +8 -1
  85. package/assets/js/highcharts/es-modules/Series/Waterfall/WaterfallSeries.js +6 -8
  86. package/assets/js/highcharts/es-modules/Series/Wordcloud/WordcloudSeries.js +87 -10
  87. package/assets/js/highcharts/es-modules/Shared/BaseForm.js +6 -3
  88. package/assets/js/highcharts/es-modules/Shared/TimeBase.js +5 -1
  89. package/assets/js/highcharts/es-modules/Stock/Navigator/NavigatorComposition.js +2 -2
  90. package/assets/js/highcharts/es-modules/Stock/Scrollbar/Scrollbar.js +5 -7
  91. package/assets/js/highcharts/es-modules/Stock/StockTools/StockToolbar.js +1 -1
  92. package/assets/js/highcharts/es-modules/Stock/StockTools/StockToolsBindings.js +34 -113
  93. package/assets/js/highcharts/es-modules/masters/highcharts-3d.src.js +3 -1
  94. package/assets/js/highcharts/es-modules/masters/highcharts-gantt.src.js +1 -1
  95. package/assets/js/highcharts/es-modules/masters/highcharts-more.src.js +1 -1
  96. package/assets/js/highcharts/es-modules/masters/highcharts.src.js +1 -1
  97. package/assets/js/highcharts/es-modules/masters/highmaps.src.js +1 -1
  98. package/assets/js/highcharts/es-modules/masters/highstock.src.js +1 -1
  99. package/assets/js/highcharts/es-modules/masters/i18n/fr-FR.src.js +1 -1
  100. package/assets/js/highcharts/es-modules/masters/i18n/nb-NO.src.js +1 -1
  101. package/assets/js/highcharts/es-modules/masters/i18n/zh-CN.src.js +1 -1
  102. package/assets/js/highcharts/es-modules/masters/indicators/acceleration-bands.src.js +1 -1
  103. package/assets/js/highcharts/es-modules/masters/indicators/accumulation-distribution.src.js +1 -1
  104. package/assets/js/highcharts/es-modules/masters/indicators/ao.src.js +1 -1
  105. package/assets/js/highcharts/es-modules/masters/indicators/apo.src.js +1 -1
  106. package/assets/js/highcharts/es-modules/masters/indicators/aroon-oscillator.src.js +1 -1
  107. package/assets/js/highcharts/es-modules/masters/indicators/aroon.src.js +1 -1
  108. package/assets/js/highcharts/es-modules/masters/indicators/atr.src.js +1 -1
  109. package/assets/js/highcharts/es-modules/masters/indicators/bollinger-bands.src.js +1 -1
  110. package/assets/js/highcharts/es-modules/masters/indicators/cci.src.js +1 -1
  111. package/assets/js/highcharts/es-modules/masters/indicators/chaikin.src.js +1 -1
  112. package/assets/js/highcharts/es-modules/masters/indicators/cmf.src.js +1 -1
  113. package/assets/js/highcharts/es-modules/masters/indicators/cmo.src.js +1 -1
  114. package/assets/js/highcharts/es-modules/masters/indicators/dema.src.js +1 -1
  115. package/assets/js/highcharts/es-modules/masters/indicators/disparity-index.src.js +1 -1
  116. package/assets/js/highcharts/es-modules/masters/indicators/dmi.src.js +1 -1
  117. package/assets/js/highcharts/es-modules/masters/indicators/dpo.src.js +1 -1
  118. package/assets/js/highcharts/es-modules/masters/indicators/ichimoku-kinko-hyo.src.js +1 -1
  119. package/assets/js/highcharts/es-modules/masters/indicators/indicators-all.src.js +1 -1
  120. package/assets/js/highcharts/es-modules/masters/indicators/indicators.src.js +1 -1
  121. package/assets/js/highcharts/es-modules/masters/indicators/keltner-channels.src.js +1 -1
  122. package/assets/js/highcharts/es-modules/masters/indicators/klinger.src.js +1 -1
  123. package/assets/js/highcharts/es-modules/masters/indicators/macd.src.js +1 -1
  124. package/assets/js/highcharts/es-modules/masters/indicators/mfi.src.js +1 -1
  125. package/assets/js/highcharts/es-modules/masters/indicators/momentum.src.js +1 -1
  126. package/assets/js/highcharts/es-modules/masters/indicators/natr.src.js +1 -1
  127. package/assets/js/highcharts/es-modules/masters/indicators/obv.src.js +1 -1
  128. package/assets/js/highcharts/es-modules/masters/indicators/pivot-points.src.js +1 -1
  129. package/assets/js/highcharts/es-modules/masters/indicators/ppo.src.js +1 -1
  130. package/assets/js/highcharts/es-modules/masters/indicators/price-channel.src.js +1 -1
  131. package/assets/js/highcharts/es-modules/masters/indicators/price-envelopes.src.js +1 -1
  132. package/assets/js/highcharts/es-modules/masters/indicators/psar.src.js +1 -1
  133. package/assets/js/highcharts/es-modules/masters/indicators/regressions.src.js +1 -1
  134. package/assets/js/highcharts/es-modules/masters/indicators/roc.src.js +1 -1
  135. package/assets/js/highcharts/es-modules/masters/indicators/rsi.src.js +1 -1
  136. package/assets/js/highcharts/es-modules/masters/indicators/slow-stochastic.src.js +1 -1
  137. package/assets/js/highcharts/es-modules/masters/indicators/stochastic.src.js +1 -1
  138. package/assets/js/highcharts/es-modules/masters/indicators/supertrend.src.js +1 -1
  139. package/assets/js/highcharts/es-modules/masters/indicators/tema.src.js +1 -1
  140. package/assets/js/highcharts/es-modules/masters/indicators/trendline.src.js +1 -1
  141. package/assets/js/highcharts/es-modules/masters/indicators/trix.src.js +1 -1
  142. package/assets/js/highcharts/es-modules/masters/indicators/volume-by-price.src.js +1 -1
  143. package/assets/js/highcharts/es-modules/masters/indicators/vwap.src.js +1 -1
  144. package/assets/js/highcharts/es-modules/masters/indicators/williams-r.src.js +1 -1
  145. package/assets/js/highcharts/es-modules/masters/indicators/wma.src.js +1 -1
  146. package/assets/js/highcharts/es-modules/masters/indicators/zigzag.src.js +1 -1
  147. package/assets/js/highcharts/es-modules/masters/modules/accessibility.src.js +1 -1
  148. package/assets/js/highcharts/es-modules/masters/modules/annotations-advanced.src.js +1 -1
  149. package/assets/js/highcharts/es-modules/masters/modules/annotations.src.js +1 -1
  150. package/assets/js/highcharts/es-modules/masters/modules/arc-diagram.src.js +1 -1
  151. package/assets/js/highcharts/es-modules/masters/modules/arrow-symbols.src.js +1 -1
  152. package/assets/js/highcharts/es-modules/masters/modules/boost-canvas.src.js +1 -1
  153. package/assets/js/highcharts/es-modules/masters/modules/boost.src.js +1 -1
  154. package/assets/js/highcharts/es-modules/masters/modules/broken-axis.src.js +1 -1
  155. package/assets/js/highcharts/es-modules/masters/modules/bullet.src.js +1 -1
  156. package/assets/js/highcharts/es-modules/masters/modules/coloraxis.src.js +1 -1
  157. package/assets/js/highcharts/es-modules/masters/modules/current-date-indicator.src.js +1 -1
  158. package/assets/js/highcharts/es-modules/masters/modules/cylinder.src.js +1 -1
  159. package/assets/js/highcharts/es-modules/masters/modules/data-tools.src.js +1 -1
  160. package/assets/js/highcharts/es-modules/masters/modules/data.src.js +1 -1
  161. package/assets/js/highcharts/es-modules/masters/modules/datagrouping.src.js +1 -1
  162. package/assets/js/highcharts/es-modules/masters/modules/debugger.src.js +1 -1
  163. package/assets/js/highcharts/es-modules/masters/modules/dependency-wheel.src.js +1 -1
  164. package/assets/js/highcharts/es-modules/masters/modules/dotplot.src.js +1 -1
  165. package/assets/js/highcharts/es-modules/masters/modules/drag-panes.src.js +1 -1
  166. package/assets/js/highcharts/es-modules/masters/modules/draggable-points.src.js +1 -1
  167. package/assets/js/highcharts/es-modules/masters/modules/drilldown.src.js +3 -1
  168. package/assets/js/highcharts/es-modules/masters/modules/dumbbell.src.js +1 -1
  169. package/assets/js/highcharts/es-modules/masters/modules/export-data.src.js +3 -3
  170. package/assets/js/highcharts/es-modules/masters/modules/exporting.src.js +5 -1
  171. package/assets/js/highcharts/es-modules/masters/modules/flowmap.src.js +1 -1
  172. package/assets/js/highcharts/es-modules/masters/modules/full-screen.src.js +1 -1
  173. package/assets/js/highcharts/es-modules/masters/modules/funnel.src.js +1 -1
  174. package/assets/js/highcharts/es-modules/masters/modules/funnel3d.src.js +1 -1
  175. package/assets/js/highcharts/es-modules/masters/modules/gantt.src.js +1 -1
  176. package/assets/js/highcharts/es-modules/masters/modules/geoheatmap.src.js +1 -1
  177. package/assets/js/highcharts/es-modules/masters/modules/grid-axis.src.js +1 -1
  178. package/assets/js/highcharts/es-modules/masters/modules/heatmap.src.js +1 -1
  179. package/assets/js/highcharts/es-modules/masters/modules/heikinashi.src.js +1 -1
  180. package/assets/js/highcharts/es-modules/masters/modules/histogram-bellcurve.src.js +1 -1
  181. package/assets/js/highcharts/es-modules/masters/modules/hollowcandlestick.src.js +1 -1
  182. package/assets/js/highcharts/es-modules/masters/modules/item-series.src.js +1 -1
  183. package/assets/js/highcharts/es-modules/masters/modules/lollipop.src.js +1 -1
  184. package/assets/js/highcharts/es-modules/masters/modules/map.src.js +1 -1
  185. package/assets/js/highcharts/es-modules/masters/modules/marker-clusters.src.js +1 -1
  186. package/assets/js/highcharts/es-modules/masters/modules/mouse-wheel-zoom.src.js +1 -1
  187. package/assets/js/highcharts/es-modules/masters/modules/navigator.src.js +1 -1
  188. package/assets/js/highcharts/es-modules/masters/modules/networkgraph.src.js +1 -1
  189. package/assets/js/highcharts/es-modules/masters/modules/no-data-to-display.src.js +1 -1
  190. package/assets/js/highcharts/es-modules/masters/modules/non-cartesian-zoom.src.js +18 -0
  191. package/assets/js/highcharts/es-modules/masters/modules/offline-exporting.src.js +2 -2
  192. package/assets/js/highcharts/es-modules/masters/modules/organization.src.js +1 -1
  193. package/assets/js/highcharts/es-modules/masters/modules/parallel-coordinates.src.js +1 -1
  194. package/assets/js/highcharts/es-modules/masters/modules/pareto.src.js +1 -1
  195. package/assets/js/highcharts/es-modules/masters/modules/pathfinder.src.js +1 -1
  196. package/assets/js/highcharts/es-modules/masters/modules/pattern-fill.src.js +1 -1
  197. package/assets/js/highcharts/es-modules/masters/modules/pictorial.src.js +1 -1
  198. package/assets/js/highcharts/es-modules/masters/modules/pointandfigure.src.js +1 -1
  199. package/assets/js/highcharts/es-modules/masters/modules/price-indicator.src.js +1 -1
  200. package/assets/js/highcharts/es-modules/masters/modules/pyramid3d.src.js +1 -1
  201. package/assets/js/highcharts/es-modules/masters/modules/renko.src.js +1 -1
  202. package/assets/js/highcharts/es-modules/masters/modules/sankey.src.js +1 -1
  203. package/assets/js/highcharts/es-modules/masters/modules/series-label.src.js +1 -1
  204. package/assets/js/highcharts/es-modules/masters/modules/series-on-point.src.js +1 -1
  205. package/assets/js/highcharts/es-modules/masters/modules/solid-gauge.src.js +1 -1
  206. package/assets/js/highcharts/es-modules/masters/modules/sonification.src.js +1 -1
  207. package/assets/js/highcharts/es-modules/masters/modules/static-scale.src.js +1 -1
  208. package/assets/js/highcharts/es-modules/masters/modules/stock-tools.src.js +1 -1
  209. package/assets/js/highcharts/es-modules/masters/modules/stock.src.js +1 -1
  210. package/assets/js/highcharts/es-modules/masters/modules/streamgraph.src.js +1 -1
  211. package/assets/js/highcharts/es-modules/masters/modules/sunburst.src.js +1 -1
  212. package/assets/js/highcharts/es-modules/masters/modules/textpath.src.js +1 -1
  213. package/assets/js/highcharts/es-modules/masters/modules/tiledwebmap.src.js +1 -1
  214. package/assets/js/highcharts/es-modules/masters/modules/tilemap.src.js +1 -1
  215. package/assets/js/highcharts/es-modules/masters/modules/timeline.src.js +1 -1
  216. package/assets/js/highcharts/es-modules/masters/modules/treegraph.src.js +1 -1
  217. package/assets/js/highcharts/es-modules/masters/modules/treegrid.src.js +1 -1
  218. package/assets/js/highcharts/es-modules/masters/modules/treemap.src.js +1 -1
  219. package/assets/js/highcharts/es-modules/masters/modules/variable-pie.src.js +1 -1
  220. package/assets/js/highcharts/es-modules/masters/modules/variwide.src.js +1 -1
  221. package/assets/js/highcharts/es-modules/masters/modules/vector.src.js +1 -1
  222. package/assets/js/highcharts/es-modules/masters/modules/venn.src.js +1 -1
  223. package/assets/js/highcharts/es-modules/masters/modules/windbarb.src.js +1 -1
  224. package/assets/js/highcharts/es-modules/masters/modules/wordcloud.src.js +1 -1
  225. package/assets/js/highcharts/es-modules/masters/modules/xrange.src.js +1 -1
  226. package/assets/js/highcharts/es-modules/masters/themes/adaptive.src.js +15 -0
  227. package/assets/js/highcharts/es-modules/masters/themes/avocado.src.js +1 -1
  228. package/assets/js/highcharts/es-modules/masters/themes/brand-dark.src.js +1 -1
  229. package/assets/js/highcharts/es-modules/masters/themes/brand-light.src.js +1 -1
  230. package/assets/js/highcharts/es-modules/masters/themes/dark-blue.src.js +1 -1
  231. package/assets/js/highcharts/es-modules/masters/themes/dark-green.src.js +1 -1
  232. package/assets/js/highcharts/es-modules/masters/themes/dark-unica.src.js +1 -1
  233. package/assets/js/highcharts/es-modules/masters/themes/gray.src.js +1 -1
  234. package/assets/js/highcharts/es-modules/masters/themes/grid-light.src.js +1 -1
  235. package/assets/js/highcharts/es-modules/masters/themes/grid.src.js +1 -1
  236. package/assets/js/highcharts/es-modules/masters/themes/high-contrast-dark.src.js +1 -1
  237. package/assets/js/highcharts/es-modules/masters/themes/high-contrast-light.src.js +1 -1
  238. package/assets/js/highcharts/es-modules/masters/themes/sand-signika.src.js +1 -1
  239. package/assets/js/highcharts/es-modules/masters/themes/skies.src.js +1 -1
  240. package/assets/js/highcharts/es-modules/masters/themes/sunset.src.js +1 -1
  241. package/assets/js/highcharts/esm/highcharts-3d.js +11 -1
  242. package/assets/js/highcharts/esm/highcharts-3d.src.js +3 -1
  243. package/assets/js/highcharts/esm/highcharts-gantt.js +8 -1
  244. package/assets/js/highcharts/esm/highcharts-gantt.src.js +1 -1
  245. package/assets/js/highcharts/esm/highcharts-more.js +9 -1
  246. package/assets/js/highcharts/esm/highcharts-more.src.js +44 -29
  247. package/assets/js/highcharts/esm/highcharts.js +9 -2
  248. package/assets/js/highcharts/esm/highcharts.src.js +138 -80
  249. package/assets/js/highcharts/esm/highmaps.js +8 -1
  250. package/assets/js/highcharts/esm/highmaps.src.js +1 -1
  251. package/assets/js/highcharts/esm/highstock.js +8 -1
  252. package/assets/js/highcharts/esm/highstock.src.js +1 -1
  253. package/assets/js/highcharts/esm/i18n/fr-FR.js +13 -1
  254. package/assets/js/highcharts/esm/i18n/fr-FR.src.js +1 -1
  255. package/assets/js/highcharts/esm/i18n/nb-NO.js +13 -1
  256. package/assets/js/highcharts/esm/i18n/nb-NO.src.js +1 -1
  257. package/assets/js/highcharts/esm/i18n/zh-CN.js +13 -1
  258. package/assets/js/highcharts/esm/i18n/zh-CN.src.js +1 -1
  259. package/assets/js/highcharts/esm/indicators/acceleration-bands.js +12 -1
  260. package/assets/js/highcharts/esm/indicators/acceleration-bands.src.js +1 -1
  261. package/assets/js/highcharts/esm/indicators/accumulation-distribution.js +12 -1
  262. package/assets/js/highcharts/esm/indicators/accumulation-distribution.src.js +1 -1
  263. package/assets/js/highcharts/esm/indicators/ao.js +12 -1
  264. package/assets/js/highcharts/esm/indicators/ao.src.js +1 -1
  265. package/assets/js/highcharts/esm/indicators/apo.js +12 -1
  266. package/assets/js/highcharts/esm/indicators/apo.src.js +1 -1
  267. package/assets/js/highcharts/esm/indicators/aroon-oscillator.js +12 -1
  268. package/assets/js/highcharts/esm/indicators/aroon-oscillator.src.js +1 -1
  269. package/assets/js/highcharts/esm/indicators/aroon.js +12 -1
  270. package/assets/js/highcharts/esm/indicators/aroon.src.js +1 -1
  271. package/assets/js/highcharts/esm/indicators/atr.js +12 -1
  272. package/assets/js/highcharts/esm/indicators/atr.src.js +1 -1
  273. package/assets/js/highcharts/esm/indicators/bollinger-bands.js +12 -1
  274. package/assets/js/highcharts/esm/indicators/bollinger-bands.src.js +1 -1
  275. package/assets/js/highcharts/esm/indicators/cci.js +12 -1
  276. package/assets/js/highcharts/esm/indicators/cci.src.js +1 -1
  277. package/assets/js/highcharts/esm/indicators/chaikin.js +12 -1
  278. package/assets/js/highcharts/esm/indicators/chaikin.src.js +1 -1
  279. package/assets/js/highcharts/esm/indicators/cmf.js +11 -1
  280. package/assets/js/highcharts/esm/indicators/cmf.src.js +1 -1
  281. package/assets/js/highcharts/esm/indicators/cmo.js +12 -1
  282. package/assets/js/highcharts/esm/indicators/cmo.src.js +1 -1
  283. package/assets/js/highcharts/esm/indicators/dema.js +12 -1
  284. package/assets/js/highcharts/esm/indicators/dema.src.js +1 -1
  285. package/assets/js/highcharts/esm/indicators/disparity-index.js +12 -1
  286. package/assets/js/highcharts/esm/indicators/disparity-index.src.js +1 -1
  287. package/assets/js/highcharts/esm/indicators/dmi.js +12 -1
  288. package/assets/js/highcharts/esm/indicators/dmi.src.js +1 -1
  289. package/assets/js/highcharts/esm/indicators/dpo.js +12 -1
  290. package/assets/js/highcharts/esm/indicators/dpo.src.js +1 -1
  291. package/assets/js/highcharts/esm/indicators/ichimoku-kinko-hyo.js +12 -1
  292. package/assets/js/highcharts/esm/indicators/ichimoku-kinko-hyo.src.js +1 -1
  293. package/assets/js/highcharts/esm/indicators/indicators-all.js +12 -1
  294. package/assets/js/highcharts/esm/indicators/indicators-all.src.js +1 -1
  295. package/assets/js/highcharts/esm/indicators/indicators.js +12 -1
  296. package/assets/js/highcharts/esm/indicators/indicators.src.js +1 -1
  297. package/assets/js/highcharts/esm/indicators/keltner-channels.js +12 -1
  298. package/assets/js/highcharts/esm/indicators/keltner-channels.src.js +1 -1
  299. package/assets/js/highcharts/esm/indicators/klinger.js +12 -1
  300. package/assets/js/highcharts/esm/indicators/klinger.src.js +1 -1
  301. package/assets/js/highcharts/esm/indicators/macd.js +12 -1
  302. package/assets/js/highcharts/esm/indicators/macd.src.js +1 -1
  303. package/assets/js/highcharts/esm/indicators/mfi.js +12 -1
  304. package/assets/js/highcharts/esm/indicators/mfi.src.js +1 -1
  305. package/assets/js/highcharts/esm/indicators/momentum.js +12 -1
  306. package/assets/js/highcharts/esm/indicators/momentum.src.js +1 -1
  307. package/assets/js/highcharts/esm/indicators/natr.js +12 -1
  308. package/assets/js/highcharts/esm/indicators/natr.src.js +1 -1
  309. package/assets/js/highcharts/esm/indicators/obv.js +12 -1
  310. package/assets/js/highcharts/esm/indicators/obv.src.js +1 -1
  311. package/assets/js/highcharts/esm/indicators/pivot-points.js +12 -1
  312. package/assets/js/highcharts/esm/indicators/pivot-points.src.js +1 -1
  313. package/assets/js/highcharts/esm/indicators/ppo.js +12 -1
  314. package/assets/js/highcharts/esm/indicators/ppo.src.js +1 -1
  315. package/assets/js/highcharts/esm/indicators/price-channel.js +12 -1
  316. package/assets/js/highcharts/esm/indicators/price-channel.src.js +1 -1
  317. package/assets/js/highcharts/esm/indicators/price-envelopes.js +12 -1
  318. package/assets/js/highcharts/esm/indicators/price-envelopes.src.js +1 -1
  319. package/assets/js/highcharts/esm/indicators/psar.js +12 -1
  320. package/assets/js/highcharts/esm/indicators/psar.src.js +1 -1
  321. package/assets/js/highcharts/esm/indicators/regressions.js +12 -1
  322. package/assets/js/highcharts/esm/indicators/regressions.src.js +1 -1
  323. package/assets/js/highcharts/esm/indicators/roc.js +12 -1
  324. package/assets/js/highcharts/esm/indicators/roc.src.js +1 -1
  325. package/assets/js/highcharts/esm/indicators/rsi.js +12 -1
  326. package/assets/js/highcharts/esm/indicators/rsi.src.js +1 -1
  327. package/assets/js/highcharts/esm/indicators/slow-stochastic.js +12 -1
  328. package/assets/js/highcharts/esm/indicators/slow-stochastic.src.js +1 -1
  329. package/assets/js/highcharts/esm/indicators/stochastic.js +12 -1
  330. package/assets/js/highcharts/esm/indicators/stochastic.src.js +1 -1
  331. package/assets/js/highcharts/esm/indicators/supertrend.js +12 -1
  332. package/assets/js/highcharts/esm/indicators/supertrend.src.js +1 -1
  333. package/assets/js/highcharts/esm/indicators/tema.js +12 -1
  334. package/assets/js/highcharts/esm/indicators/tema.src.js +1 -1
  335. package/assets/js/highcharts/esm/indicators/trendline.js +12 -1
  336. package/assets/js/highcharts/esm/indicators/trendline.src.js +1 -1
  337. package/assets/js/highcharts/esm/indicators/trix.js +12 -1
  338. package/assets/js/highcharts/esm/indicators/trix.src.js +1 -1
  339. package/assets/js/highcharts/esm/indicators/volume-by-price.js +12 -1
  340. package/assets/js/highcharts/esm/indicators/volume-by-price.src.js +1 -1
  341. package/assets/js/highcharts/esm/indicators/vwap.js +12 -1
  342. package/assets/js/highcharts/esm/indicators/vwap.src.js +1 -1
  343. package/assets/js/highcharts/esm/indicators/williams-r.js +12 -1
  344. package/assets/js/highcharts/esm/indicators/williams-r.src.js +1 -1
  345. package/assets/js/highcharts/esm/indicators/wma.js +12 -1
  346. package/assets/js/highcharts/esm/indicators/wma.src.js +1 -1
  347. package/assets/js/highcharts/esm/indicators/zigzag.js +12 -1
  348. package/assets/js/highcharts/esm/indicators/zigzag.src.js +1 -1
  349. package/assets/js/highcharts/esm/modules/accessibility.js +12 -1
  350. package/assets/js/highcharts/esm/modules/accessibility.src.js +46 -43
  351. package/assets/js/highcharts/esm/modules/annotations-advanced.js +11 -1
  352. package/assets/js/highcharts/esm/modules/annotations-advanced.src.js +866 -775
  353. package/assets/js/highcharts/esm/modules/annotations.js +11 -1
  354. package/assets/js/highcharts/esm/modules/annotations.src.js +89 -40
  355. package/assets/js/highcharts/esm/modules/arc-diagram.js +11 -1
  356. package/assets/js/highcharts/esm/modules/arc-diagram.src.js +1 -1
  357. package/assets/js/highcharts/esm/modules/arrow-symbols.js +11 -1
  358. package/assets/js/highcharts/esm/modules/arrow-symbols.src.js +1 -1
  359. package/assets/js/highcharts/esm/modules/boost-canvas.js +12 -1
  360. package/assets/js/highcharts/esm/modules/boost-canvas.src.js +23 -4
  361. package/assets/js/highcharts/esm/modules/boost.js +13 -1
  362. package/assets/js/highcharts/esm/modules/boost.src.js +23 -4
  363. package/assets/js/highcharts/esm/modules/broken-axis.js +9 -1
  364. package/assets/js/highcharts/esm/modules/broken-axis.src.js +1 -1
  365. package/assets/js/highcharts/esm/modules/bullet.js +11 -1
  366. package/assets/js/highcharts/esm/modules/bullet.src.js +1 -1
  367. package/assets/js/highcharts/esm/modules/coloraxis.js +11 -1
  368. package/assets/js/highcharts/esm/modules/coloraxis.src.js +1 -1
  369. package/assets/js/highcharts/esm/modules/current-date-indicator.js +11 -1
  370. package/assets/js/highcharts/esm/modules/current-date-indicator.src.js +1 -1
  371. package/assets/js/highcharts/esm/modules/cylinder.js +12 -1
  372. package/assets/js/highcharts/esm/modules/cylinder.src.js +1 -1
  373. package/assets/js/highcharts/esm/modules/data-tools.js +11 -1
  374. package/assets/js/highcharts/esm/modules/data-tools.src.js +225 -69
  375. package/assets/js/highcharts/esm/modules/data.js +11 -1
  376. package/assets/js/highcharts/esm/modules/data.src.js +46 -39
  377. package/assets/js/highcharts/esm/modules/datagrouping.js +11 -1
  378. package/assets/js/highcharts/esm/modules/datagrouping.src.js +1 -1
  379. package/assets/js/highcharts/esm/modules/debugger.js +11 -1
  380. package/assets/js/highcharts/esm/modules/debugger.src.js +1 -1
  381. package/assets/js/highcharts/esm/modules/dependency-wheel.js +12 -1
  382. package/assets/js/highcharts/esm/modules/dependency-wheel.src.js +1 -1
  383. package/assets/js/highcharts/esm/modules/dotplot.js +11 -1
  384. package/assets/js/highcharts/esm/modules/dotplot.src.js +1 -1
  385. package/assets/js/highcharts/esm/modules/drag-panes.js +13 -1
  386. package/assets/js/highcharts/esm/modules/drag-panes.src.js +1 -1
  387. package/assets/js/highcharts/esm/modules/draggable-points.js +9 -1
  388. package/assets/js/highcharts/esm/modules/draggable-points.src.js +1 -1
  389. package/assets/js/highcharts/esm/modules/drilldown.js +13 -1
  390. package/assets/js/highcharts/esm/modules/drilldown.src.js +3 -1
  391. package/assets/js/highcharts/esm/modules/dumbbell.js +9 -1
  392. package/assets/js/highcharts/esm/modules/dumbbell.src.js +1 -1
  393. package/assets/js/highcharts/esm/modules/export-data.js +12 -1
  394. package/assets/js/highcharts/esm/modules/export-data.src.js +984 -798
  395. package/assets/js/highcharts/esm/modules/exporting.js +11 -1
  396. package/assets/js/highcharts/esm/modules/exporting.src.js +1373 -642
  397. package/assets/js/highcharts/esm/modules/flowmap.js +9 -1
  398. package/assets/js/highcharts/esm/modules/flowmap.src.js +1 -1
  399. package/assets/js/highcharts/esm/modules/full-screen.js +12 -1
  400. package/assets/js/highcharts/esm/modules/full-screen.src.js +3 -3
  401. package/assets/js/highcharts/esm/modules/funnel.js +11 -1
  402. package/assets/js/highcharts/esm/modules/funnel.src.js +1 -1
  403. package/assets/js/highcharts/esm/modules/funnel3d.js +13 -1
  404. package/assets/js/highcharts/esm/modules/funnel3d.src.js +1 -1
  405. package/assets/js/highcharts/esm/modules/gantt.js +11 -1
  406. package/assets/js/highcharts/esm/modules/gantt.src.js +33 -25
  407. package/assets/js/highcharts/esm/modules/geoheatmap.js +9 -1
  408. package/assets/js/highcharts/esm/modules/geoheatmap.src.js +1 -1
  409. package/assets/js/highcharts/esm/modules/grid-axis.js +11 -1
  410. package/assets/js/highcharts/esm/modules/grid-axis.src.js +1 -1
  411. package/assets/js/highcharts/esm/modules/heatmap.js +9 -1
  412. package/assets/js/highcharts/esm/modules/heatmap.src.js +2 -3
  413. package/assets/js/highcharts/esm/modules/heikinashi.js +12 -1
  414. package/assets/js/highcharts/esm/modules/heikinashi.src.js +1 -1
  415. package/assets/js/highcharts/esm/modules/histogram-bellcurve.js +10 -1
  416. package/assets/js/highcharts/esm/modules/histogram-bellcurve.src.js +1 -1
  417. package/assets/js/highcharts/esm/modules/hollowcandlestick.js +12 -1
  418. package/assets/js/highcharts/esm/modules/hollowcandlestick.src.js +1 -1
  419. package/assets/js/highcharts/esm/modules/item-series.js +11 -1
  420. package/assets/js/highcharts/esm/modules/item-series.src.js +3 -5
  421. package/assets/js/highcharts/esm/modules/lollipop.js +9 -1
  422. package/assets/js/highcharts/esm/modules/lollipop.src.js +1 -1
  423. package/assets/js/highcharts/esm/modules/map.js +11 -1
  424. package/assets/js/highcharts/esm/modules/map.src.js +5 -6
  425. package/assets/js/highcharts/esm/modules/marker-clusters.js +11 -1
  426. package/assets/js/highcharts/esm/modules/marker-clusters.src.js +1 -1
  427. package/assets/js/highcharts/esm/modules/mouse-wheel-zoom.js +11 -1
  428. package/assets/js/highcharts/esm/modules/mouse-wheel-zoom.src.js +1 -1
  429. package/assets/js/highcharts/esm/modules/navigator.js +11 -1
  430. package/assets/js/highcharts/esm/modules/navigator.src.js +10 -12
  431. package/assets/js/highcharts/esm/modules/networkgraph.js +11 -1
  432. package/assets/js/highcharts/esm/modules/networkgraph.src.js +7 -2
  433. package/assets/js/highcharts/esm/modules/no-data-to-display.js +12 -1
  434. package/assets/js/highcharts/esm/modules/no-data-to-display.src.js +1 -1
  435. package/assets/js/highcharts/esm/modules/non-cartesian-zoom.js +11 -0
  436. package/assets/js/highcharts/esm/modules/non-cartesian-zoom.src.js +374 -0
  437. package/assets/js/highcharts/esm/modules/offline-exporting.js +12 -1
  438. package/assets/js/highcharts/esm/modules/offline-exporting.src.js +334 -3360
  439. package/assets/js/highcharts/esm/modules/organization.js +11 -1
  440. package/assets/js/highcharts/esm/modules/organization.src.js +1 -1
  441. package/assets/js/highcharts/esm/modules/parallel-coordinates.js +11 -1
  442. package/assets/js/highcharts/esm/modules/parallel-coordinates.src.js +1 -1
  443. package/assets/js/highcharts/esm/modules/pareto.js +11 -1
  444. package/assets/js/highcharts/esm/modules/pareto.src.js +1 -1
  445. package/assets/js/highcharts/esm/modules/pathfinder.js +11 -1
  446. package/assets/js/highcharts/esm/modules/pathfinder.src.js +1 -1
  447. package/assets/js/highcharts/esm/modules/pattern-fill.js +12 -1
  448. package/assets/js/highcharts/esm/modules/pattern-fill.src.js +1 -1
  449. package/assets/js/highcharts/esm/modules/pictorial.js +11 -1
  450. package/assets/js/highcharts/esm/modules/pictorial.src.js +1 -1
  451. package/assets/js/highcharts/esm/modules/pointandfigure.js +12 -1
  452. package/assets/js/highcharts/esm/modules/pointandfigure.src.js +1 -1
  453. package/assets/js/highcharts/esm/modules/price-indicator.js +13 -1
  454. package/assets/js/highcharts/esm/modules/price-indicator.src.js +1 -1
  455. package/assets/js/highcharts/esm/modules/pyramid3d.js +14 -1
  456. package/assets/js/highcharts/esm/modules/pyramid3d.src.js +1 -1
  457. package/assets/js/highcharts/esm/modules/renko.js +12 -1
  458. package/assets/js/highcharts/esm/modules/renko.src.js +1 -1
  459. package/assets/js/highcharts/esm/modules/sankey.js +11 -1
  460. package/assets/js/highcharts/esm/modules/sankey.src.js +1 -1
  461. package/assets/js/highcharts/esm/modules/series-label.js +9 -1
  462. package/assets/js/highcharts/esm/modules/series-label.src.js +1 -1
  463. package/assets/js/highcharts/esm/modules/series-on-point.js +12 -1
  464. package/assets/js/highcharts/esm/modules/series-on-point.src.js +1 -1
  465. package/assets/js/highcharts/esm/modules/solid-gauge.js +12 -1
  466. package/assets/js/highcharts/esm/modules/solid-gauge.src.js +8 -3
  467. package/assets/js/highcharts/esm/modules/sonification.js +12 -1
  468. package/assets/js/highcharts/esm/modules/sonification.src.js +42 -9
  469. package/assets/js/highcharts/esm/modules/static-scale.js +11 -1
  470. package/assets/js/highcharts/esm/modules/static-scale.src.js +1 -1
  471. package/assets/js/highcharts/esm/modules/stock-tools.js +13 -1
  472. package/assets/js/highcharts/esm/modules/stock-tools.src.js +37 -116
  473. package/assets/js/highcharts/esm/modules/stock.js +11 -1
  474. package/assets/js/highcharts/esm/modules/stock.src.js +32 -24
  475. package/assets/js/highcharts/esm/modules/streamgraph.js +11 -1
  476. package/assets/js/highcharts/esm/modules/streamgraph.src.js +1 -1
  477. package/assets/js/highcharts/esm/modules/sunburst.js +10 -1
  478. package/assets/js/highcharts/esm/modules/sunburst.src.js +1 -1
  479. package/assets/js/highcharts/esm/modules/textpath.js +9 -1
  480. package/assets/js/highcharts/esm/modules/textpath.src.js +1 -1
  481. package/assets/js/highcharts/esm/modules/tiledwebmap.js +10 -2
  482. package/assets/js/highcharts/esm/modules/tiledwebmap.src.js +1 -1
  483. package/assets/js/highcharts/esm/modules/tilemap.js +12 -1
  484. package/assets/js/highcharts/esm/modules/tilemap.src.js +1 -1
  485. package/assets/js/highcharts/esm/modules/timeline.js +12 -1
  486. package/assets/js/highcharts/esm/modules/timeline.src.js +1 -1
  487. package/assets/js/highcharts/esm/modules/treegraph.js +11 -1
  488. package/assets/js/highcharts/esm/modules/treegraph.src.js +4 -2
  489. package/assets/js/highcharts/esm/modules/treegrid.js +11 -1
  490. package/assets/js/highcharts/esm/modules/treegrid.src.js +1 -1
  491. package/assets/js/highcharts/esm/modules/treemap.js +10 -1
  492. package/assets/js/highcharts/esm/modules/treemap.src.js +1 -1
  493. package/assets/js/highcharts/esm/modules/variable-pie.js +11 -1
  494. package/assets/js/highcharts/esm/modules/variable-pie.src.js +1 -1
  495. package/assets/js/highcharts/esm/modules/variwide.js +11 -1
  496. package/assets/js/highcharts/esm/modules/variwide.src.js +9 -2
  497. package/assets/js/highcharts/esm/modules/vector.js +11 -1
  498. package/assets/js/highcharts/esm/modules/vector.src.js +1 -1
  499. package/assets/js/highcharts/esm/modules/venn.js +10 -1
  500. package/assets/js/highcharts/esm/modules/venn.src.js +1 -1
  501. package/assets/js/highcharts/esm/modules/windbarb.js +11 -1
  502. package/assets/js/highcharts/esm/modules/windbarb.src.js +1 -1
  503. package/assets/js/highcharts/esm/modules/wordcloud.js +10 -1
  504. package/assets/js/highcharts/esm/modules/wordcloud.src.js +88 -11
  505. package/assets/js/highcharts/esm/modules/xrange.js +11 -1
  506. package/assets/js/highcharts/esm/modules/xrange.src.js +1 -1
  507. package/assets/js/highcharts/esm/standalone-navigator.js +9 -2
  508. package/assets/js/highcharts/esm/standalone-navigator.src.js +146 -90
  509. package/assets/js/highcharts/esm/themes/adaptive.js +130 -0
  510. package/assets/js/highcharts/esm/themes/adaptive.src.js +1069 -0
  511. package/assets/js/highcharts/esm/themes/avocado.js +9 -1
  512. package/assets/js/highcharts/esm/themes/avocado.src.js +1 -1
  513. package/assets/js/highcharts/esm/themes/brand-dark.js +9 -1
  514. package/assets/js/highcharts/esm/themes/brand-dark.src.js +1 -1
  515. package/assets/js/highcharts/esm/themes/brand-light.js +9 -1
  516. package/assets/js/highcharts/esm/themes/brand-light.src.js +1 -1
  517. package/assets/js/highcharts/esm/themes/dark-blue.js +9 -1
  518. package/assets/js/highcharts/esm/themes/dark-blue.src.js +1 -1
  519. package/assets/js/highcharts/esm/themes/dark-green.js +9 -1
  520. package/assets/js/highcharts/esm/themes/dark-green.src.js +1 -1
  521. package/assets/js/highcharts/esm/themes/dark-unica.js +9 -1
  522. package/assets/js/highcharts/esm/themes/dark-unica.src.js +1 -1
  523. package/assets/js/highcharts/esm/themes/gray.js +9 -1
  524. package/assets/js/highcharts/esm/themes/gray.src.js +1 -1
  525. package/assets/js/highcharts/esm/themes/grid-light.js +9 -1
  526. package/assets/js/highcharts/esm/themes/grid-light.src.js +1 -1
  527. package/assets/js/highcharts/esm/themes/grid.js +9 -1
  528. package/assets/js/highcharts/esm/themes/grid.src.js +1 -1
  529. package/assets/js/highcharts/esm/themes/high-contrast-dark.js +9 -1
  530. package/assets/js/highcharts/esm/themes/high-contrast-dark.src.js +1 -1
  531. package/assets/js/highcharts/esm/themes/high-contrast-light.js +9 -1
  532. package/assets/js/highcharts/esm/themes/high-contrast-light.src.js +1 -1
  533. package/assets/js/highcharts/esm/themes/sand-signika.js +9 -1
  534. package/assets/js/highcharts/esm/themes/sand-signika.src.js +1 -1
  535. package/assets/js/highcharts/esm/themes/skies.js +9 -1
  536. package/assets/js/highcharts/esm/themes/skies.src.js +1 -1
  537. package/assets/js/highcharts/esm/themes/sunset.js +9 -1
  538. package/assets/js/highcharts/esm/themes/sunset.src.js +1 -1
  539. package/assets/js/highcharts/highcharts-3d.js +11 -1
  540. package/assets/js/highcharts/highcharts-3d.src.js +3 -1
  541. package/assets/js/highcharts/highcharts-gantt.js +16 -2
  542. package/assets/js/highcharts/highcharts-gantt.src.js +173 -107
  543. package/assets/js/highcharts/highcharts-more.js +9 -1
  544. package/assets/js/highcharts/highcharts-more.src.js +44 -29
  545. package/assets/js/highcharts/highcharts.js +9 -2
  546. package/assets/js/highcharts/highcharts.src.js +138 -80
  547. package/assets/js/highcharts/highmaps.js +16 -2
  548. package/assets/js/highcharts/highmaps.src.js +145 -88
  549. package/assets/js/highcharts/highstock.js +16 -2
  550. package/assets/js/highcharts/highstock.src.js +172 -106
  551. package/assets/js/highcharts/i18n/fr-FR.js +13 -1
  552. package/assets/js/highcharts/i18n/fr-FR.src.js +8 -8
  553. package/assets/js/highcharts/i18n/nb-NO.js +13 -1
  554. package/assets/js/highcharts/i18n/nb-NO.src.js +8 -8
  555. package/assets/js/highcharts/i18n/zh-CN.js +13 -1
  556. package/assets/js/highcharts/i18n/zh-CN.src.js +8 -8
  557. package/assets/js/highcharts/indicators/acceleration-bands.js +12 -1
  558. package/assets/js/highcharts/indicators/acceleration-bands.src.js +1 -1
  559. package/assets/js/highcharts/indicators/accumulation-distribution.js +12 -1
  560. package/assets/js/highcharts/indicators/accumulation-distribution.src.js +1 -1
  561. package/assets/js/highcharts/indicators/ao.js +12 -1
  562. package/assets/js/highcharts/indicators/ao.src.js +1 -1
  563. package/assets/js/highcharts/indicators/apo.js +12 -1
  564. package/assets/js/highcharts/indicators/apo.src.js +1 -1
  565. package/assets/js/highcharts/indicators/aroon-oscillator.js +12 -1
  566. package/assets/js/highcharts/indicators/aroon-oscillator.src.js +1 -1
  567. package/assets/js/highcharts/indicators/aroon.js +12 -1
  568. package/assets/js/highcharts/indicators/aroon.src.js +1 -1
  569. package/assets/js/highcharts/indicators/atr.js +12 -1
  570. package/assets/js/highcharts/indicators/atr.src.js +1 -1
  571. package/assets/js/highcharts/indicators/bollinger-bands.js +12 -1
  572. package/assets/js/highcharts/indicators/bollinger-bands.src.js +1 -1
  573. package/assets/js/highcharts/indicators/cci.js +12 -1
  574. package/assets/js/highcharts/indicators/cci.src.js +1 -1
  575. package/assets/js/highcharts/indicators/chaikin.js +12 -1
  576. package/assets/js/highcharts/indicators/chaikin.src.js +1 -1
  577. package/assets/js/highcharts/indicators/cmf.js +11 -1
  578. package/assets/js/highcharts/indicators/cmf.src.js +1 -1
  579. package/assets/js/highcharts/indicators/cmo.js +12 -1
  580. package/assets/js/highcharts/indicators/cmo.src.js +1 -1
  581. package/assets/js/highcharts/indicators/dema.js +12 -1
  582. package/assets/js/highcharts/indicators/dema.src.js +1 -1
  583. package/assets/js/highcharts/indicators/disparity-index.js +12 -1
  584. package/assets/js/highcharts/indicators/disparity-index.src.js +1 -1
  585. package/assets/js/highcharts/indicators/dmi.js +12 -1
  586. package/assets/js/highcharts/indicators/dmi.src.js +1 -1
  587. package/assets/js/highcharts/indicators/dpo.js +12 -1
  588. package/assets/js/highcharts/indicators/dpo.src.js +1 -1
  589. package/assets/js/highcharts/indicators/ema.src.js +3 -3
  590. package/assets/js/highcharts/indicators/ichimoku-kinko-hyo.js +12 -1
  591. package/assets/js/highcharts/indicators/ichimoku-kinko-hyo.src.js +1 -1
  592. package/assets/js/highcharts/indicators/indicators-all.js +12 -1
  593. package/assets/js/highcharts/indicators/indicators-all.src.js +1 -1
  594. package/assets/js/highcharts/indicators/indicators.js +12 -1
  595. package/assets/js/highcharts/indicators/indicators.src.js +1 -1
  596. package/assets/js/highcharts/indicators/keltner-channels.js +12 -1
  597. package/assets/js/highcharts/indicators/keltner-channels.src.js +1 -1
  598. package/assets/js/highcharts/indicators/klinger.js +12 -1
  599. package/assets/js/highcharts/indicators/klinger.src.js +1 -1
  600. package/assets/js/highcharts/indicators/macd.js +12 -1
  601. package/assets/js/highcharts/indicators/macd.src.js +1 -1
  602. package/assets/js/highcharts/indicators/mfi.js +12 -1
  603. package/assets/js/highcharts/indicators/mfi.src.js +1 -1
  604. package/assets/js/highcharts/indicators/momentum.js +12 -1
  605. package/assets/js/highcharts/indicators/momentum.src.js +1 -1
  606. package/assets/js/highcharts/indicators/natr.js +12 -1
  607. package/assets/js/highcharts/indicators/natr.src.js +1 -1
  608. package/assets/js/highcharts/indicators/obv.js +12 -1
  609. package/assets/js/highcharts/indicators/obv.src.js +1 -1
  610. package/assets/js/highcharts/indicators/pivot-points.js +12 -1
  611. package/assets/js/highcharts/indicators/pivot-points.src.js +1 -1
  612. package/assets/js/highcharts/indicators/ppo.js +12 -1
  613. package/assets/js/highcharts/indicators/ppo.src.js +1 -1
  614. package/assets/js/highcharts/indicators/price-channel.js +12 -1
  615. package/assets/js/highcharts/indicators/price-channel.src.js +1 -1
  616. package/assets/js/highcharts/indicators/price-envelopes.js +12 -1
  617. package/assets/js/highcharts/indicators/price-envelopes.src.js +1 -1
  618. package/assets/js/highcharts/indicators/psar.js +12 -1
  619. package/assets/js/highcharts/indicators/psar.src.js +1 -1
  620. package/assets/js/highcharts/indicators/regressions.js +12 -1
  621. package/assets/js/highcharts/indicators/regressions.src.js +1 -1
  622. package/assets/js/highcharts/indicators/roc.js +12 -1
  623. package/assets/js/highcharts/indicators/roc.src.js +1 -1
  624. package/assets/js/highcharts/indicators/rsi.js +12 -1
  625. package/assets/js/highcharts/indicators/rsi.src.js +1 -1
  626. package/assets/js/highcharts/indicators/slow-stochastic.js +12 -1
  627. package/assets/js/highcharts/indicators/slow-stochastic.src.js +1 -1
  628. package/assets/js/highcharts/indicators/stochastic.js +12 -1
  629. package/assets/js/highcharts/indicators/stochastic.src.js +1 -1
  630. package/assets/js/highcharts/indicators/supertrend.js +12 -1
  631. package/assets/js/highcharts/indicators/supertrend.src.js +1 -1
  632. package/assets/js/highcharts/indicators/tema.js +12 -1
  633. package/assets/js/highcharts/indicators/tema.src.js +1 -1
  634. package/assets/js/highcharts/indicators/trendline.js +12 -1
  635. package/assets/js/highcharts/indicators/trendline.src.js +1 -1
  636. package/assets/js/highcharts/indicators/trix.js +12 -1
  637. package/assets/js/highcharts/indicators/trix.src.js +1 -1
  638. package/assets/js/highcharts/indicators/volume-by-price.js +12 -1
  639. package/assets/js/highcharts/indicators/volume-by-price.src.js +1 -1
  640. package/assets/js/highcharts/indicators/vwap.js +12 -1
  641. package/assets/js/highcharts/indicators/vwap.src.js +1 -1
  642. package/assets/js/highcharts/indicators/williams-r.js +12 -1
  643. package/assets/js/highcharts/indicators/williams-r.src.js +1 -1
  644. package/assets/js/highcharts/indicators/wma.js +12 -1
  645. package/assets/js/highcharts/indicators/wma.src.js +1 -1
  646. package/assets/js/highcharts/indicators/zigzag.js +12 -1
  647. package/assets/js/highcharts/indicators/zigzag.src.js +1 -1
  648. package/assets/js/highcharts/modules/accessibility.js +12 -1
  649. package/assets/js/highcharts/modules/accessibility.src.js +46 -43
  650. package/assets/js/highcharts/modules/annotations-advanced.js +21 -1
  651. package/assets/js/highcharts/modules/annotations-advanced.src.js +879 -788
  652. package/assets/js/highcharts/modules/annotations.js +11 -1
  653. package/assets/js/highcharts/modules/annotations.src.js +89 -40
  654. package/assets/js/highcharts/modules/arc-diagram.js +11 -1
  655. package/assets/js/highcharts/modules/arc-diagram.src.js +1 -1
  656. package/assets/js/highcharts/modules/arrow-symbols.js +11 -1
  657. package/assets/js/highcharts/modules/arrow-symbols.src.js +1 -1
  658. package/assets/js/highcharts/modules/boost-canvas.js +12 -1
  659. package/assets/js/highcharts/modules/boost-canvas.src.js +23 -4
  660. package/assets/js/highcharts/modules/boost.js +13 -1
  661. package/assets/js/highcharts/modules/boost.src.js +23 -4
  662. package/assets/js/highcharts/modules/broken-axis.js +9 -1
  663. package/assets/js/highcharts/modules/broken-axis.src.js +1 -1
  664. package/assets/js/highcharts/modules/bullet.js +11 -1
  665. package/assets/js/highcharts/modules/bullet.src.js +1 -1
  666. package/assets/js/highcharts/modules/coloraxis.js +11 -1
  667. package/assets/js/highcharts/modules/coloraxis.src.js +1 -1
  668. package/assets/js/highcharts/modules/current-date-indicator.js +11 -1
  669. package/assets/js/highcharts/modules/current-date-indicator.src.js +1 -1
  670. package/assets/js/highcharts/modules/cylinder.js +12 -1
  671. package/assets/js/highcharts/modules/cylinder.src.js +1 -1
  672. package/assets/js/highcharts/modules/data-tools.js +11 -1
  673. package/assets/js/highcharts/modules/data-tools.src.js +225 -69
  674. package/assets/js/highcharts/modules/data.js +11 -1
  675. package/assets/js/highcharts/modules/data.src.js +46 -39
  676. package/assets/js/highcharts/modules/datagrouping.js +11 -1
  677. package/assets/js/highcharts/modules/datagrouping.src.js +1 -1
  678. package/assets/js/highcharts/modules/debugger.js +11 -1
  679. package/assets/js/highcharts/modules/debugger.src.js +1 -1
  680. package/assets/js/highcharts/modules/dependency-wheel.js +12 -1
  681. package/assets/js/highcharts/modules/dependency-wheel.src.js +1 -1
  682. package/assets/js/highcharts/modules/dotplot.js +11 -1
  683. package/assets/js/highcharts/modules/dotplot.src.js +1 -1
  684. package/assets/js/highcharts/modules/drag-panes.js +13 -1
  685. package/assets/js/highcharts/modules/drag-panes.src.js +1 -1
  686. package/assets/js/highcharts/modules/draggable-points.js +9 -1
  687. package/assets/js/highcharts/modules/draggable-points.src.js +1 -1
  688. package/assets/js/highcharts/modules/drilldown.js +13 -1
  689. package/assets/js/highcharts/modules/drilldown.src.js +3 -1
  690. package/assets/js/highcharts/modules/dumbbell.js +9 -1
  691. package/assets/js/highcharts/modules/dumbbell.src.js +1 -1
  692. package/assets/js/highcharts/modules/export-data.js +12 -1
  693. package/assets/js/highcharts/modules/export-data.src.js +996 -803
  694. package/assets/js/highcharts/modules/exporting.js +11 -1
  695. package/assets/js/highcharts/modules/exporting.src.js +1372 -636
  696. package/assets/js/highcharts/modules/flowmap.js +9 -1
  697. package/assets/js/highcharts/modules/flowmap.src.js +1 -1
  698. package/assets/js/highcharts/modules/full-screen.js +12 -1
  699. package/assets/js/highcharts/modules/full-screen.src.js +3 -3
  700. package/assets/js/highcharts/modules/funnel.js +11 -1
  701. package/assets/js/highcharts/modules/funnel.src.js +1 -1
  702. package/assets/js/highcharts/modules/funnel3d.js +13 -1
  703. package/assets/js/highcharts/modules/funnel3d.src.js +1 -1
  704. package/assets/js/highcharts/modules/gantt.js +31 -1
  705. package/assets/js/highcharts/modules/gantt.src.js +36 -28
  706. package/assets/js/highcharts/modules/geoheatmap.js +9 -1
  707. package/assets/js/highcharts/modules/geoheatmap.src.js +1 -1
  708. package/assets/js/highcharts/modules/grid-axis.js +11 -1
  709. package/assets/js/highcharts/modules/grid-axis.src.js +1 -1
  710. package/assets/js/highcharts/modules/heatmap.js +19 -1
  711. package/assets/js/highcharts/modules/heatmap.src.js +3 -4
  712. package/assets/js/highcharts/modules/heikinashi.js +12 -1
  713. package/assets/js/highcharts/modules/heikinashi.src.js +1 -1
  714. package/assets/js/highcharts/modules/histogram-bellcurve.js +10 -1
  715. package/assets/js/highcharts/modules/histogram-bellcurve.src.js +1 -1
  716. package/assets/js/highcharts/modules/hollowcandlestick.js +12 -1
  717. package/assets/js/highcharts/modules/hollowcandlestick.src.js +1 -1
  718. package/assets/js/highcharts/modules/item-series.js +11 -1
  719. package/assets/js/highcharts/modules/item-series.src.js +3 -5
  720. package/assets/js/highcharts/modules/lollipop.js +9 -1
  721. package/assets/js/highcharts/modules/lollipop.src.js +1 -1
  722. package/assets/js/highcharts/modules/map.js +21 -1
  723. package/assets/js/highcharts/modules/map.src.js +6 -7
  724. package/assets/js/highcharts/modules/marker-clusters.js +11 -1
  725. package/assets/js/highcharts/modules/marker-clusters.src.js +1 -1
  726. package/assets/js/highcharts/modules/mouse-wheel-zoom.js +11 -1
  727. package/assets/js/highcharts/modules/mouse-wheel-zoom.src.js +1 -1
  728. package/assets/js/highcharts/modules/navigator.js +11 -1
  729. package/assets/js/highcharts/modules/navigator.src.js +10 -12
  730. package/assets/js/highcharts/modules/networkgraph.js +11 -1
  731. package/assets/js/highcharts/modules/networkgraph.src.js +7 -2
  732. package/assets/js/highcharts/modules/no-data-to-display.js +12 -1
  733. package/assets/js/highcharts/modules/no-data-to-display.src.js +1 -1
  734. package/assets/js/highcharts/modules/non-cartesian-zoom.js +11 -0
  735. package/assets/js/highcharts/modules/non-cartesian-zoom.src.js +427 -0
  736. package/assets/js/highcharts/modules/offline-exporting.js +12 -1
  737. package/assets/js/highcharts/modules/offline-exporting.src.js +353 -3380
  738. package/assets/js/highcharts/modules/organization.js +11 -1
  739. package/assets/js/highcharts/modules/organization.src.js +1 -1
  740. package/assets/js/highcharts/modules/parallel-coordinates.js +11 -1
  741. package/assets/js/highcharts/modules/parallel-coordinates.src.js +1 -1
  742. package/assets/js/highcharts/modules/pareto.js +11 -1
  743. package/assets/js/highcharts/modules/pareto.src.js +1 -1
  744. package/assets/js/highcharts/modules/pathfinder.js +11 -1
  745. package/assets/js/highcharts/modules/pathfinder.src.js +1 -1
  746. package/assets/js/highcharts/modules/pattern-fill.js +12 -1
  747. package/assets/js/highcharts/modules/pattern-fill.src.js +1 -1
  748. package/assets/js/highcharts/modules/pictorial.js +11 -1
  749. package/assets/js/highcharts/modules/pictorial.src.js +1 -1
  750. package/assets/js/highcharts/modules/pointandfigure.js +12 -1
  751. package/assets/js/highcharts/modules/pointandfigure.src.js +1 -1
  752. package/assets/js/highcharts/modules/price-indicator.js +13 -1
  753. package/assets/js/highcharts/modules/price-indicator.src.js +1 -1
  754. package/assets/js/highcharts/modules/pyramid3d.js +14 -1
  755. package/assets/js/highcharts/modules/pyramid3d.src.js +1 -1
  756. package/assets/js/highcharts/modules/renko.js +12 -1
  757. package/assets/js/highcharts/modules/renko.src.js +1 -1
  758. package/assets/js/highcharts/modules/sankey.js +11 -1
  759. package/assets/js/highcharts/modules/sankey.src.js +1 -1
  760. package/assets/js/highcharts/modules/series-label.js +9 -1
  761. package/assets/js/highcharts/modules/series-label.src.js +1 -1
  762. package/assets/js/highcharts/modules/series-on-point.js +12 -1
  763. package/assets/js/highcharts/modules/series-on-point.src.js +1 -1
  764. package/assets/js/highcharts/modules/solid-gauge.js +12 -1
  765. package/assets/js/highcharts/modules/solid-gauge.src.js +8 -3
  766. package/assets/js/highcharts/modules/sonification.js +12 -1
  767. package/assets/js/highcharts/modules/sonification.src.js +42 -9
  768. package/assets/js/highcharts/modules/static-scale.js +11 -1
  769. package/assets/js/highcharts/modules/static-scale.src.js +1 -1
  770. package/assets/js/highcharts/modules/stock-tools.js +13 -1
  771. package/assets/js/highcharts/modules/stock-tools.src.js +37 -116
  772. package/assets/js/highcharts/modules/stock.js +29 -1
  773. package/assets/js/highcharts/modules/stock.src.js +35 -27
  774. package/assets/js/highcharts/modules/streamgraph.js +11 -1
  775. package/assets/js/highcharts/modules/streamgraph.src.js +1 -1
  776. package/assets/js/highcharts/modules/sunburst.js +10 -1
  777. package/assets/js/highcharts/modules/sunburst.src.js +1 -1
  778. package/assets/js/highcharts/modules/textpath.js +9 -1
  779. package/assets/js/highcharts/modules/textpath.src.js +1 -1
  780. package/assets/js/highcharts/modules/tiledwebmap.js +10 -2
  781. package/assets/js/highcharts/modules/tiledwebmap.src.js +1 -1
  782. package/assets/js/highcharts/modules/tilemap.js +12 -1
  783. package/assets/js/highcharts/modules/tilemap.src.js +1 -1
  784. package/assets/js/highcharts/modules/timeline.js +12 -1
  785. package/assets/js/highcharts/modules/timeline.src.js +1 -1
  786. package/assets/js/highcharts/modules/treegraph.js +11 -1
  787. package/assets/js/highcharts/modules/treegraph.src.js +4 -2
  788. package/assets/js/highcharts/modules/treegrid.js +11 -1
  789. package/assets/js/highcharts/modules/treegrid.src.js +1 -1
  790. package/assets/js/highcharts/modules/treemap.js +10 -1
  791. package/assets/js/highcharts/modules/treemap.src.js +1 -1
  792. package/assets/js/highcharts/modules/variable-pie.js +11 -1
  793. package/assets/js/highcharts/modules/variable-pie.src.js +1 -1
  794. package/assets/js/highcharts/modules/variwide.js +11 -1
  795. package/assets/js/highcharts/modules/variwide.src.js +9 -2
  796. package/assets/js/highcharts/modules/vector.js +11 -1
  797. package/assets/js/highcharts/modules/vector.src.js +1 -1
  798. package/assets/js/highcharts/modules/venn.js +10 -1
  799. package/assets/js/highcharts/modules/venn.src.js +1 -1
  800. package/assets/js/highcharts/modules/windbarb.js +11 -1
  801. package/assets/js/highcharts/modules/windbarb.src.js +1 -1
  802. package/assets/js/highcharts/modules/wordcloud.js +10 -1
  803. package/assets/js/highcharts/modules/wordcloud.src.js +88 -11
  804. package/assets/js/highcharts/modules/xrange.js +11 -1
  805. package/assets/js/highcharts/modules/xrange.src.js +1 -1
  806. package/assets/js/highcharts/standalone-navigator.js +9 -2
  807. package/assets/js/highcharts/standalone-navigator.src.js +146 -90
  808. package/assets/js/highcharts/themes/adaptive.js +130 -0
  809. package/assets/js/highcharts/themes/adaptive.src.js +1122 -0
  810. package/assets/js/highcharts/themes/avocado.js +9 -1
  811. package/assets/js/highcharts/themes/avocado.src.js +1 -1
  812. package/assets/js/highcharts/themes/brand-dark.js +9 -1
  813. package/assets/js/highcharts/themes/brand-dark.src.js +1 -1
  814. package/assets/js/highcharts/themes/brand-light.js +9 -1
  815. package/assets/js/highcharts/themes/brand-light.src.js +1 -1
  816. package/assets/js/highcharts/themes/dark-blue.js +9 -1
  817. package/assets/js/highcharts/themes/dark-blue.src.js +1 -1
  818. package/assets/js/highcharts/themes/dark-green.js +9 -1
  819. package/assets/js/highcharts/themes/dark-green.src.js +1 -1
  820. package/assets/js/highcharts/themes/dark-unica.js +9 -1
  821. package/assets/js/highcharts/themes/dark-unica.src.js +1 -1
  822. package/assets/js/highcharts/themes/gray.js +9 -1
  823. package/assets/js/highcharts/themes/gray.src.js +1 -1
  824. package/assets/js/highcharts/themes/grid-light.js +9 -1
  825. package/assets/js/highcharts/themes/grid-light.src.js +1 -1
  826. package/assets/js/highcharts/themes/grid.js +9 -1
  827. package/assets/js/highcharts/themes/grid.src.js +1 -1
  828. package/assets/js/highcharts/themes/high-contrast-dark.js +9 -1
  829. package/assets/js/highcharts/themes/high-contrast-dark.src.js +1 -1
  830. package/assets/js/highcharts/themes/high-contrast-light.js +9 -1
  831. package/assets/js/highcharts/themes/high-contrast-light.src.js +1 -1
  832. package/assets/js/highcharts/themes/sand-signika.js +9 -1
  833. package/assets/js/highcharts/themes/sand-signika.src.js +1 -1
  834. package/assets/js/highcharts/themes/skies.js +9 -1
  835. package/assets/js/highcharts/themes/skies.src.js +1 -1
  836. package/assets/js/highcharts/themes/sunset.js +9 -1
  837. package/assets/js/highcharts/themes/sunset.src.js +1 -1
  838. package/package.json +1 -1
@@ -1 +1,11 @@
1
- let t;import*as e from"../highcharts.js";import"./coloraxis.js";var i,o,s,r,a,n,l,h,p={};p.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return p.d(e,{a:e}),e},p.d=(t,e)=>{for(var i in e)p.o(e,i)&&!p.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},p.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);let d=e.default;var c=p.n(d);p.d({},{});let u={lang:{zoomIn:"Zoom in",zoomOut:"Zoom out"},mapNavigation:{buttonOptions:{alignTo:"plotBox",align:"left",verticalAlign:"top",x:0,width:18,height:18,padding:5,style:{color:"#666666",fontSize:"1em",fontWeight:"bold"},theme:{fill:"#ffffff",stroke:"#e6e6e6","stroke-width":1,"text-align":"center"}},buttons:{zoomIn:{onclick:function(){this.mapZoom(.5)},text:"+",y:0},zoomOut:{onclick:function(){this.mapZoom(2)},text:"-",y:28}},mouseWheelSensitivity:1.1}},{defined:m,extend:g,pick:b,wrap:f}=c();!function(t){let e,i=0;function o(t){let e=this.chart;t=this.normalize(t),e.options.mapNavigation.enableDoubleClickZoomTo?e.pointer.inClass(t.target,"highcharts-tracker")&&e.hoverPoint&&e.hoverPoint.zoomTo():e.isInsidePlot(t.chartX-e.plotLeft,t.chartY-e.plotTop)&&e.mapZoom(.5,void 0,void 0,t.chartX,t.chartY)}function s(t){let o=this.chart,s=m((t=this.normalize(t)).wheelDelta)&&-t.wheelDelta/120||t.deltaY||t.detail;Math.abs(s)>=1&&(i+=Math.abs(s),e&&clearTimeout(e),e=setTimeout(()=>{i=0},50)),i<10&&o.isInsidePlot(t.chartX-o.plotLeft,t.chartY-o.plotTop)&&o.mapView&&o.mapView.zoomBy(-((o.options.mapNavigation.mouseWheelSensitivity-1)*s),void 0,[t.chartX,t.chartY],!(1>Math.abs(s))&&void 0)}function r(t,e,i){let o=this.chart;if(e=t.call(this,e,i),o&&o.mapView){let t=o.mapView.pixelsToLonLat({x:e.chartX-o.plotLeft,y:e.chartY-o.plotTop});t&&g(e,t)}return e}function a(t){let e=this.chart.options.mapNavigation;e&&b(e.enableTouchZoom,e.enabled)&&(this.chart.zooming.pinchType="xy"),t.apply(this,[].slice.call(arguments,1))}t.compose=function(t){let e=t.prototype;e.onContainerDblClick||(g(e,{onContainerDblClick:o,onContainerMouseWheel:s}),f(e,"normalize",r),f(e,"zoomOption",a))}}(r||(r={}));let y=r;function x(e,i,o,s,r){if(r){let t=r?.r||0;r.brBoxY=i-t,r.brBoxHeight=s+t}return t.roundedRect(e,i,o,s,r)}function M(e,i,o,s,r){if(r){let t=r?.r||0;r.brBoxHeight=s+t}return t.roundedRect(e,i,o,s,r)}let v=function(e){(t=e.prototype.symbols).bottombutton=x,t.topbutton=M},{setOptions:w}=c(),{composed:T}=c(),{addEvent:P,extend:j,merge:L,objectEach:C,pick:A,pushUnique:k}=c();function z(t){t&&(t.preventDefault?.(),t.stopPropagation?.(),t.cancelBubble=!0)}class B{static compose(t,e,i){y.compose(e),v(i),k(T,"Map.Navigation")&&(P(t,"beforeRender",function(){this.mapNavigation=new B(this),this.mapNavigation.update()}),w(u))}constructor(t){this.chart=t,this.navButtons=[]}update(t){let e=this,i=e.chart,o=e.navButtons,s=function(t){this.handler.call(i,t),z(t)},r=i.options.mapNavigation;for(t&&(r=i.options.mapNavigation=L(i.options.mapNavigation,t));o.length;)o.pop()?.destroy();if(!i.renderer.forExport&&A(r.enableButtons,r.enabled)){e.navButtonsGroup||(e.navButtonsGroup=i.renderer.g().attr({zIndex:7}).add()),C(r.buttons,(t,a)=>{let n={padding:(t=L(r.buttonOptions,t)).padding};!i.styledMode&&t.theme&&(j(n,t.theme),n.style=L(t.theme.style,t.style));let{text:l,width:h=0,height:p=0,padding:d=0}=t,c=i.renderer.button("+"!==l&&"-"!==l&&l||"",0,0,s,n,void 0,void 0,void 0,"zoomIn"===a?"topbutton":"bottombutton").addClass("highcharts-map-navigation highcharts-"+({zoomIn:"zoom-in",zoomOut:"zoom-out"})[a]).attr({width:h,height:p,title:i.options.lang[a],zIndex:5}).add(e.navButtonsGroup);if("+"===l||"-"===l){let e=h+1,o=[["M",d+3,d+p/2],["L",d+e-3,d+p/2]];"+"===l&&o.push(["M",d+e/2,d+3],["L",d+e/2,d+p-3]),i.renderer.path(o).addClass("highcharts-button-symbol").attr(i.styledMode?{}:{stroke:t.style?.color,"stroke-width":3,"stroke-linecap":"round"}).add(c)}if(c.handler=t.onclick,P(c.element,"dblclick",z),o.push(c),j(t,{width:c.width,height:2*(c.height||0)}),i.hasLoaded)c.align(t,!1,t.alignTo);else{let e=P(i,"load",()=>{c.element&&c.align(t,!1,t.alignTo),e()})}});let t=(t,e)=>!(e.x>=t.x+t.width||e.x+e.width<=t.x||e.y>=t.y+t.height||e.y+e.height<=t.y);i.hasLoaded||P(i,"render",function(){let o=i.exportingGroup?.getBBox();if(o){let i=e.navButtonsGroup.getBBox();if(t(o,i)){let t=-i.y-i.height+o.y-5,s=o.y+o.height-i.y+5,a=r.buttonOptions&&r.buttonOptions.verticalAlign;e.navButtonsGroup.attr({translateY:"bottom"===a?t:s})}}})}this.updateEvents(r)}updateEvents(t){let e=this.chart;A(t.enableDoubleClickZoom,t.enabled)||t.enableDoubleClickZoomTo?this.unbindDblClick=this.unbindDblClick||P(e.container,"dblclick",function(t){e.pointer.onContainerDblClick(t)}):this.unbindDblClick&&(this.unbindDblClick=this.unbindDblClick()),A(t.enableMouseWheelZoom,t.enabled)?this.unbindMouseWheel=this.unbindMouseWheel||P(e.container,"wheel",function(t){if(!e.pointer.inClass(t.target,"highcharts-no-mousewheel")){let i=e.mapView?.zoom;e.pointer.onContainerMouseWheel(t),i!==e.mapView?.zoom&&z(t)}return!1}):this.unbindMouseWheel&&(this.unbindMouseWheel=this.unbindMouseWheel())}}let S=e.default.SeriesRegistry;var E=p.n(S);let O=e.default.SVGElement;var D=p.n(O);let{column:{prototype:V}}=E().seriesTypes,{addEvent:I,defined:N}=c();!function(t){function e(t){let e=this.series,i=e.chart.renderer;this.moveToTopOnHover&&this.graphic&&(e.stateMarkerGraphic||(e.stateMarkerGraphic=new(D())(i,"use").css({pointerEvents:"none"}).add(this.graphic.parentGroup)),t?.state==="hover"?(this.graphic.attr({id:this.id}),e.stateMarkerGraphic.attr({href:`${i.url}#${this.id}`,visibility:"visible"})):e.stateMarkerGraphic.attr({href:""}))}t.pointMembers={dataLabelOnNull:!0,moveToTopOnHover:!0,isValid:function(){return null!==this.value&&this.value!==1/0&&this.value!==-1/0&&(void 0===this.value||!isNaN(this.value))}},t.seriesMembers={colorKey:"value",axisTypes:["xAxis","yAxis","colorAxis"],parallelArrays:["x","y","value"],pointArrayMap:["value"],trackerGroups:["group","markerGroup","dataLabelsGroup"],colorAttribs:function(t){let e={};return N(t.color)&&(!t.state||"normal"===t.state)&&(e[this.colorProp||"fill"]=t.color),e},pointAttribs:V.pointAttribs},t.compose=function(t){return I(t.prototype.pointClass,"afterSetState",e),t}}(a||(a={}));let X=a,G=e.default.Series;var R=p.n(G);let{deg2rad:Y}=c(),{fireEvent:F,isNumber:U,pick:Z,relativeLength:W}=c();(i=n||(n={})).getCenter=function(){let t=this.options,e=this.chart,i=2*(t.slicedOffset||0),o=e.plotWidth-2*i,s=e.plotHeight-2*i,r=t.center,a=Math.min(o,s),n=t.thickness,l,h=t.size,p=t.innerSize||0,d,c;"string"==typeof h&&(h=parseFloat(h)),"string"==typeof p&&(p=parseFloat(p));let u=[Z(r?.[0],"50%"),Z(r?.[1],"50%"),Z(h&&h<0?void 0:t.size,"100%"),Z(p&&p<0?void 0:t.innerSize||0,"0%")];for(!e.angular||this instanceof R()||(u[3]=0),d=0;d<4;++d)c=u[d],l=d<2||2===d&&/%$/.test(c),u[d]=W(c,[o,s,a,u[2]][d])+(l?i:0);return u[3]>u[2]&&(u[3]=u[2]),U(n)&&2*n<u[2]&&n>0&&(u[3]=u[2]-2*n),F(this,"afterGetCenter",{positions:u}),u},i.getStartAndEndRadians=function(t,e){let i=U(t)?t:0,o=U(e)&&e>i&&e-i<360?e:i+360;return{start:Y*(i+-90),end:Y*(o+-90)}};let H=n,_=e.default.Chart;var q=p.n(_);let $=e.default.SVGRenderer;var K=p.n($);let{getOptions:J}=c(),{isNumber:Q,merge:tt,pick:te}=c();class ti extends q(){init(t,e){let i=J().credits,o=tt({chart:{panning:{enabled:!0,type:"xy"},type:"map"},credits:{mapText:te(i.mapText,' \xa9 <a href="{geojson.copyrightUrl}">{geojson.copyrightShort}</a>'),mapTextFull:te(i.mapTextFull,"{geojson.copyright}")},mapView:{},tooltip:{followTouchMove:!1}},t);super.init(o,e)}mapZoom(t,e,i,o,s){this.mapView&&(Q(t)&&(t=Math.log(t)/Math.log(.5)),this.mapView.zoomBy(t,Q(e)&&Q(i)?this.mapView.projection.inverse([e,i]):void 0,Q(o)&&Q(s)?[o,s]:void 0))}update(t){t.chart&&"map"in t.chart&&this.mapView?.recommendMapView(this,[t.chart.map,...(this.options.series||[]).map(t=>t.mapData)],!0),super.update.apply(this,arguments)}}(o=ti||(ti={})).maps={},o.mapChart=function(t,e,i){return new o(t,e,i)},o.splitPath=function(t){let e;return e="string"==typeof t?(t=t.replace(/([A-Z])/gi," $1 ").replace(/^\s*/,"").replace(/\s*$/,"")).split(/[ ,;]+/).map(t=>/[A-Z]/i.test(t)?t:parseFloat(t)):t,K().prototype.pathToSegments(e)};let to=ti,ts={boundsFromPath:function(t){let e=-Number.MAX_VALUE,i=Number.MAX_VALUE,o=-Number.MAX_VALUE,s=Number.MAX_VALUE,r;if(t.forEach(t=>{let a=t[t.length-2],n=t[t.length-1];"number"==typeof a&&"number"==typeof n&&(i=Math.min(i,a),e=Math.max(e,a),s=Math.min(s,n),o=Math.max(o,n),r=!0)}),r)return{x1:i,y1:s,x2:e,y2:o}}},{boundsFromPath:tr}=ts,ta=E().seriesTypes.scatter.prototype.pointClass,{extend:tn,isNumber:tl,pick:th}=c();class tp extends ta{static getProjectedPath(t,e){return t.projectedPath||(e&&t.geometry?(e.hasCoordinates=!0,t.projectedPath=e.path(t.geometry)):t.projectedPath=t.path),t.projectedPath||[]}applyOptions(t,e){let i=this.series,o=super.applyOptions(t,e),s=i.joinBy;if(i.mapData&&i.mapMap){let t=s[1],e=super.getNestedProperty(t),r=void 0!==e&&i.mapMap[e];r?tn(o,{...r,name:o.name??r.name}):-1!==i.pointArrayMap.indexOf("value")&&(o.value=o.value||null)}return o}getProjectedBounds(t){let e=tr(tp.getProjectedPath(this,t)),i=this.properties,o=this.series.chart.mapView;if(e){let s=i?.["hc-middle-lon"],r=i?.["hc-middle-lat"];if(o&&tl(s)&&tl(r)){let i=t.forward([s,r]);e.midX=i[0],e.midY=i[1]}else{let t=i?.["hc-middle-x"],o=i?.["hc-middle-y"];e.midX=e.x1+(e.x2-e.x1)*th(this.middleX,tl(t)?t:.5);let s=th(this.middleY,tl(o)?o:.5);this.geometry||(s=1-s),e.midY=e.y2-(e.y2-e.y1)*s}return e}}onMouseOver(t){c().clearTimeout(this.colorInterval),!this.isNull&&this.visible||this.series.options.nullInteraction?super.onMouseOver.call(this,t):this.series.onMouseOut()}setVisible(t){this.visible=this.options.visible=!!t,this.dataLabel&&this.dataLabel[t?"show":"hide"](),this.graphic&&this.graphic.attr(this.series.pointAttribs(this))}zoomTo(t){let e=this.series.chart,i=e.mapView,o=this.bounds;if(i&&o){let s=tl(this.insetIndex)&&i.insets[this.insetIndex];if(s){let t=s.projectedUnitsToPixels({x:o.x1,y:o.y1}),e=s.projectedUnitsToPixels({x:o.x2,y:o.y2}),r=i.pixelsToProjectedUnits({x:t.x,y:t.y}),a=i.pixelsToProjectedUnits({x:e.x,y:e.y});o={x1:r.x,y1:r.y,x2:a.x,y2:a.y}}i.fitToBounds(o,void 0,!1),this.series.isDirty=!0,e.redraw(t)}}}tn(tp.prototype,{dataLabelOnNull:X.pointMembers.dataLabelOnNull,moveToTopOnHover:X.pointMembers.moveToTopOnHover,isValid:X.pointMembers.isValid});let{isNumber:td}=c(),tc={center:[0,0],fitToGeometry:void 0,maxZoom:void 0,padding:0,projection:{name:void 0,parallels:void 0,rotation:void 0},zoom:void 0,insetOptions:{borderColor:"#cccccc",borderWidth:1,padding:"10%",relativeTo:"mapBoundingBox",units:"percent"}},tu=e.default.Templating;var tm=p.n(tu);let{win:tg}=c(),{format:tb}=tm(),{error:tf,extend:ty,merge:tx,wrap:tM}=c();!function(t){function e(t){return this.mapView&&this.mapView.lonLatToProjectedUnits(t)}function i(t){return this.mapView&&this.mapView.projectedUnitsToLonLat(t)}function o(t,e){let i=this.options.chart.proj4||tg.proj4;if(!i){tf(21,!1,this);return}let{jsonmarginX:o=0,jsonmarginY:s=0,jsonres:r=1,scale:a=1,xoffset:n=0,xpan:l=0,yoffset:h=0,ypan:p=0}=e,d=i(e.crs,[t.lon,t.lat]),c=e.cosAngle||e.rotation&&Math.cos(e.rotation),u=e.sinAngle||e.rotation&&Math.sin(e.rotation),m=e.rotation?[d[0]*c+d[1]*u,-d[0]*u+d[1]*c]:d;return{x:((m[0]-n)*a+l)*r+o,y:-(((h-m[1])*a+p)*r-s)}}function s(t,e){let i=this.options.chart.proj4||tg.proj4;if(!i){tf(21,!1,this);return}if(null===t.y)return;let{jsonmarginX:o=0,jsonmarginY:s=0,jsonres:r=1,scale:a=1,xoffset:n=0,xpan:l=0,yoffset:h=0,ypan:p=0}=e,d={x:((t.x-o)/r-l)/a+n,y:((t.y-s)/r+p)/a+h},c=e.cosAngle||e.rotation&&Math.cos(e.rotation),u=e.sinAngle||e.rotation&&Math.sin(e.rotation),m=i(e.crs,"WGS84",e.rotation?{x:d.x*c+-(d.y*u),y:d.x*u+d.y*c}:d);return{lat:m.y,lon:m.x}}function r(t,e){e||(e=Object.keys(t.objects)[0]);let i=t.objects[e];if(i["hc-decoded-geojson"]&&i["hc-decoded-geojson"].title===t.title)return i["hc-decoded-geojson"];let o=t.arcs;if(t.transform){let e,i,s,r=t.arcs,{scale:a,translate:n}=t.transform;o=[];for(let t=0,l=r.length;t<l;++t){let l=r[t];o.push(e=[]),i=0,s=0;for(let t=0,o=l.length;t<o;++t)e.push([(i+=l[t][0])*a[0]+n[0],(s+=l[t][1])*a[1]+n[1]])}}let s=t=>"number"==typeof t[0]?t.reduce((t,e,i)=>{let s=e<0?o[~e]:o[e];return e<0?(s=s.slice(0,0===i?s.length:s.length-1)).reverse():i&&(s=s.slice(1)),t.concat(s)},[]):t.map(s),r=i.geometries,a=[];for(let t=0,e=r.length;t<e;++t)a.push({type:"Feature",properties:r[t].properties,geometry:{type:r[t].type,coordinates:r[t].coordinates||s(r[t].arcs)}});let n={type:"FeatureCollection",copyright:t.copyright,copyrightShort:t.copyrightShort,copyrightUrl:t.copyrightUrl,features:a,"hc-recommended-mapview":i["hc-recommended-mapview"],bbox:t.bbox,title:t.title};return i["hc-decoded-geojson"]=n,n}function a(t,e){e=tx(!0,this.options.credits,e),t.call(this,e),this.credits&&this.mapCreditsFull&&this.credits.attr({title:this.mapCreditsFull})}t.compose=function(t){let r=t.prototype;r.transformFromLatLon||(r.fromLatLonToPoint=e,r.fromPointToLatLon=i,r.transformFromLatLon=o,r.transformToLatLon=s,tM(r,"addCredits",a))},t.geojson=function(t,e="map",i){let o=[],s="Topology"===t.type?r(t):t,a=s.features;for(let t=0,i=a.length;t<i;++t){let i,s=a[t],r=s.geometry||{},n=r.type,l=r.coordinates,h=s.properties;if(("map"===e||"mapbubble"===e)&&("Polygon"===n||"MultiPolygon"===n)?l.length&&(i={geometry:{coordinates:l,type:n}}):"mapline"===e&&("LineString"===n||"MultiLineString"===n)?l.length&&(i={geometry:{coordinates:l,type:n}}):"mappoint"===e&&"Point"===n&&l.length&&(i={geometry:{coordinates:l,type:n}}),i){let t=h&&(h.name||h.NAME),e=h&&h.lon,s=h&&h.lat;o.push(ty(i,{lat:"number"==typeof s?s:void 0,lon:"number"==typeof e?e:void 0,name:"string"==typeof t?t:void 0,properties:h}))}}return i&&s.copyrightShort&&(i.chart.mapCredits=tb(i.chart.options.credits?.mapText,{geojson:s}),i.chart.mapCreditsFull=tb(i.chart.options.credits?.mapTextFull,{geojson:s})),o},t.topo2geo=r}(l||(l={}));let tv=l;(s=h||(h={})).getCenterOfPoints=function(t){let e=t.reduce((t,e)=>(t.x+=e.x,t.y+=e.y,t),{x:0,y:0});return{x:e.x/t.length,y:e.y/t.length}},s.getDistanceBetweenPoints=function(t,e){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))},s.getAngleBetweenPoints=function(t,e){return Math.atan2(e.x-t.x,e.y-t.y)},s.pointInPolygon=function({x:t,y:e},i){let o=i.length,s,r,a=!1;for(s=0,r=o-1;s<o;r=s++){let[o,n]=i[s],[l,h]=i[r];n>e!=h>e&&t<(l-o)*(e-n)/(h-n)+o&&(a=!a)}return a};let tw=h;function tT(t,e,i=!0){let o=e[e.length-1],s,r,a,n=t;for(let t=0;t<e.length;t++){let l=n;s=e[t],n=[],r=i?l[l.length-1]:l[0];for(let t=0;t<l.length;t++)tP(o,s,a=l[t])?(tP(o,s,r)||n.push(tj(o,s,r,a)),n.push(a)):tP(o,s,r)&&n.push(tj(o,s,r,a)),r=a;o=s}return n}function tP(t,e,i){return(e[0]-t[0])*(i[1]-t[1])>(e[1]-t[1])*(i[0]-t[0])}function tj(t,e,i,o){let s=[t[0]-e[0],t[1]-e[1]],r=[i[0]-o[0],i[1]-o[1]],a=t[0]*e[1]-t[1]*e[0],n=i[0]*o[1]-i[1]*o[0],l=1/(s[0]*r[1]-s[1]*r[0]),h=[(a*r[0]-n*s[0])*l,(a*r[1]-n*s[1])*l];return h.isIntersection=!0,h}let tL=Math.sign||(t=>0===t?0:t>0?1:-1),tC=Math.PI/180,tA=Math.PI/2,tk=t=>Math.tan((tA+t)/2),tz=class{constructor(t){let e=(t.parallels||[]).map(t=>t*tC),i=e[0]||0,o=e[1]??i,s=Math.cos(i);"object"==typeof t.projectedBounds&&(this.projectedBounds=t.projectedBounds);let r=i===o?Math.sin(i):Math.log(s/Math.cos(o))/Math.log(tk(o)/tk(i));1e-10>Math.abs(r)&&(r=1e-10*(tL(r)||1)),this.n=r,this.c=s*Math.pow(tk(i),r)/r}forward(t){let{c:e,n:i,projectedBounds:o}=this,s=t[0]*tC,r=t[1]*tC;e>0?r<-tA+1e-6&&(r=-tA+1e-6):r>tA-1e-6&&(r=tA-1e-6);let a=e/Math.pow(tk(r),i),n=a*Math.sin(i*s)*63.78137,l=(e-a*Math.cos(i*s))*63.78137,h=[n,l];return o&&(n<o.x1||n>o.x2||l<o.y1||l>o.y2)&&(h.outside=!0),h}inverse(t){let{c:e,n:i}=this,o=t[0]/63.78137,s=e-t[1]/63.78137,r=tL(i)*Math.sqrt(o*o+s*s),a=Math.atan2(o,Math.abs(s))*tL(s);return s*i<0&&(a-=Math.PI*tL(o)*tL(s)),[a/i/tC,(2*Math.atan(Math.pow(e/r,1/i))-tA)/tC]}},tB=Math.sqrt(3)/2,tS=class{constructor(){this.bounds={x1:-200.37508342789243,x2:200.37508342789243,y1:-97.52595454902263,y2:97.52595454902263}}forward(t){let e=Math.PI/180,i=Math.asin(tB*Math.sin(t[1]*e)),o=i*i,s=o*o*o;return[t[0]*e*Math.cos(i)*74.03120656864502/(tB*(1.340264+-.24331799999999998*o+s*(.0062510000000000005+.034164*o))),74.03120656864502*i*(1.340264+-.081106*o+s*(893e-6+.003796*o))]}inverse(t){let e=t[0]/74.03120656864502,i=t[1]/74.03120656864502,o=180/Math.PI,s=i,r,a,n,l;for(let t=0;t<12&&(a=(r=s*s)*r*r,n=s*(1.340264+-.081106*r+a*(893e-6+.003796*r))-i,s-=l=n/(1.340264+-.24331799999999998*r+a*(.0062510000000000005+.034164*r)),!(1e-9>Math.abs(l)));++t);a=(r=s*s)*r*r;let h=o*tB*e*(1.340264+-.24331799999999998*r+a*(.0062510000000000005+.034164*r))/Math.cos(s),p=o*Math.asin(Math.sin(s)/tB);return Math.abs(h)>180?[NaN,NaN]:[h,p]}},tE=Math.PI/4,tO=Math.PI/180,tD=class{constructor(){this.bounds={x1:-200.37508342789243,x2:200.37508342789243,y1:-146.91480769173063,y2:146.91480769173063}}forward(t){return[t[0]*tO*63.78137,79.7267125*Math.log(Math.tan(tE+.4*t[1]*tO))]}inverse(t){return[t[0]/63.78137/tO,2.5*(Math.atan(Math.exp(.8*(t[1]/63.78137)))-tE)/tO]}},tV=Math.PI/180,tI=class{constructor(){this.antimeridianCutting=!1,this.bounds={x1:-63.78460826781007,x2:63.78460826781007,y1:-63.78460826781007,y2:63.78460826781007}}forward(t){let e=t[0],i=t[1]*tV,o=[Math.cos(i)*Math.sin(e*tV)*63.78460826781007,63.78460826781007*Math.sin(i)];return(e<-90||e>90)&&(o.outside=!0),o}inverse(t){let e=t[0]/63.78460826781007,i=t[1]/63.78460826781007,o=Math.sqrt(e*e+i*i),s=Math.asin(o),r=Math.sin(s);return[Math.atan2(e*r,o*Math.cos(s))/tV,Math.asin(o&&i*r/o)/tV]}},tN=Math.PI/180,tX=class{constructor(){this.bounds={x1:-200.37508342789243,x2:200.37508342789243,y1:-200.3750834278071,y2:200.3750834278071},this.maxLatitude=85.0511287798}forward(t){let e=Math.sin(t[1]*tN),i=[63.78137*t[0]*tN,63.78137*Math.log((1+e)/(1-e))/2];return Math.abs(t[1])>this.maxLatitude&&(i.outside=!0),i}inverse(t){return[t[0]/(63.78137*tN),(2*Math.atan(Math.exp(t[1]/63.78137))-Math.PI/2)/tN]}},{clipLineString:tG,clipPolygon:tR}={clipLineString:function(t,e){let i=[],o=tT(t,e,!1);for(let t=1;t<o.length;t++)o[t].isIntersection&&o[t-1].isIntersection&&(i.push(o.splice(0,t)),t=0),t===o.length-1&&i.push(o);return i},clipPolygon:tT},{clamp:tY,erase:tF}=c(),tU=2*Math.PI/360,tZ=t=>(t<-180&&(t+=360),t>180&&(t-=360),t),tW=t=>(1-Math.cos(t))/2,tH=(t,e)=>{let i=Math.cos,o=t[1]*tU,s=t[0]*tU,r=e[1]*tU,a=e[0]*tU;return tW(r-o)+i(o)*i(r)*tW(a-s)};class t_{static add(t,e){t_.registry[t]=e}static distance(t,e){let{atan2:i,sqrt:o}=Math,s=tH(t,e);return 6371e3*(2*i(o(s),o(1-s)))}static geodesic(t,e,i,o=5e5){let{atan2:s,cos:r,sin:a,sqrt:n}=Math,l=t_.distance,h=t[1]*tU,p=t[0]*tU,d=e[1]*tU,c=e[0]*tU,u=r(h)*r(p),m=r(d)*r(c),g=r(h)*a(p),b=r(d)*a(c),f=a(h),y=a(d),x=l(t,e),M=x/6371e3,v=a(M),w=Math.round(x/o),T=[];if(i&&T.push(t),w>1){let t=1/w;for(let e=t;e<.999;e+=t){let t=a((1-e)*M)/v,i=a(e*M)/v,o=t*u+i*m,r=t*g+i*b,l=s(t*f+i*y,n(o*o+r*r)),h=s(r,o);T.push([h/tU,l/tU])}}return i&&T.push(e),T}static insertGeodesics(t){let e=t.length-1;for(;e--;)if(Math.max(Math.abs(t[e][0]-t[e+1][0]),Math.abs(t[e][1]-t[e+1][1]))>10){let i=t_.geodesic(t[e],t[e+1]);i.length&&t.splice(e+1,0,...i)}}static toString(t){let{name:e,rotation:i}=t||{};return[e,i&&i.join(",")].join(";")}constructor(t={}){this.hasCoordinates=!1,this.hasGeoProjection=!1,this.maxLatitude=90,this.options=t;let{name:e,projectedBounds:i,rotation:o}=t;this.rotator=o?this.getRotator(o):void 0;let s=e?t_.registry[e]:void 0;s&&(this.def=new s(t));let{def:r,rotator:a}=this;r&&(this.maxLatitude=r.maxLatitude||90,this.hasGeoProjection=!0),a&&r?(this.forward=t=>r.forward(a.forward(t)),this.inverse=t=>a.inverse(r.inverse(t))):r?(this.forward=t=>r.forward(t),this.inverse=t=>r.inverse(t)):a&&(this.forward=a.forward,this.inverse=a.inverse),this.bounds="world"===i?r&&r.bounds:i}lineIntersectsBounds(t){let{x1:e,x2:i,y1:o,y2:s}=this.bounds||{},r=(t,e,i)=>{let[o,s]=t,r=+!e;if("number"==typeof i&&o[e]>=i!=s[e]>=i){let t=(i-o[e])/(s[e]-o[e]),a=o[r]+t*(s[r]-o[r]);return e?[a,i]:[i,a]}},a,n=t[0];return(a=r(t,0,e))?(n=a,t[1]=a):(a=r(t,0,i))&&(n=a,t[1]=a),(a=r(t,1,o))?n=a:(a=r(t,1,s))&&(n=a),n}getRotator(t){let e=t[0]*tU,i=(t[1]||0)*tU,o=(t[2]||0)*tU,s=Math.cos(i),r=Math.sin(i),a=Math.cos(o),n=Math.sin(o);if(0!==e||0!==i||0!==o)return{forward:t=>{let i=t[0]*tU+e,o=t[1]*tU,l=Math.cos(o),h=Math.cos(i)*l,p=Math.sin(i)*l,d=Math.sin(o),c=d*s+h*r;return[Math.atan2(p*a-c*n,h*s-d*r)/tU,Math.asin(c*a+p*n)/tU]},inverse:t=>{let i=t[0]*tU,o=t[1]*tU,l=Math.cos(o),h=Math.cos(i)*l,p=Math.sin(i)*l,d=Math.sin(o),c=d*a-p*n;return[(Math.atan2(p*a+d*n,h*s+c*r)-e)/tU,Math.asin(c*s-h*r)/tU]}}}forward(t){return t}inverse(t){return t}cutOnAntimeridian(t,e){let i,o=[],s=[t];for(let i=0,s=t.length;i<s;++i){let s=t[i],r=t[i-1];if(!i){if(!e)continue;r=t[t.length-1]}let a=r[0],n=s[0];if((a<-90||a>90)&&(n<-90||n>90)&&a>0!=n>0){let t=tY((180-(a+360)%360)/((n+360)%360-(a+360)%360),0,1),e=r[1]+t*(s[1]-r[1]);o.push({i,lat:e,direction:a<0?1:-1,previousLonLat:r,lonLat:s})}}if(o.length){if(e){o.length%2==1&&(i=o.slice().sort((t,e)=>Math.abs(e.lat)-Math.abs(t.lat))[0],tF(o,i));let e=o.length-2;for(;e>=0;){let i=o[e].i,r=tZ(180+1e-6*o[e].direction),a=tZ(180-1e-6*o[e].direction),n=t.splice(i,o[e+1].i-i,...t_.geodesic([r,o[e].lat],[r,o[e+1].lat],!0));n.push(...t_.geodesic([a,o[e+1].lat],[a,o[e].lat],!0)),s.push(n),e-=2}if(i)for(let t=0;t<s.length;t++){let{direction:e,lat:o}=i,r=s[t],a=r.indexOf(i.lonLat);if(a>-1){let t=(o<0?-1:1)*this.maxLatitude,s=tZ(180+1e-6*e),n=tZ(180-1e-6*e),l=t_.geodesic([s,o],[s,t],!0);for(let i=s+120*e;i>-180&&i<180;i+=120*e)l.push([i,t]);l.push(...t_.geodesic([n,t],[n,i.lat],!0)),r.splice(a,0,...l);break}}}else{let e=o.length;for(;e--;){let i=o[e].i,r=t.splice(i,t.length,[tZ(180+1e-6*o[e].direction),o[e].lat]);r.unshift([tZ(180-1e-6*o[e].direction),o[e].lat]),s.push(r)}}}return s}path(t){let e,{bounds:i,def:o,rotator:s}=this,r=[],a="Polygon"===t.type||"MultiPolygon"===t.type,n=this.hasGeoProjection,l=!o||!1!==o.antimeridianCutting,h=l?s:void 0,p=l&&o||this;i&&(e=[[i.x1,i.y1],[i.x2,i.y1],[i.x2,i.y2],[i.x1,i.y2]]);let d=t=>{let o=t.map(t=>{if(l){h&&(t=h.forward(t));let e=t[0];1e-6>Math.abs(e-180)&&(e=e<180?179.999999:180.000001),t=[e,t[1]]}return t}),s=[o];n&&(t_.insertGeodesics(o),l&&(s=this.cutOnAntimeridian(o,a))),s.forEach(t=>{let o,s;if(t.length<2)return;let h=!1,d=!1,c=t=>{h?r.push(["L",t[0],t[1]]):(r.push(["M",t[0],t[1]]),h=!0)},u=!1,m=!1,g=t.map(t=>{let e=p.forward(t);return e.outside?u=!0:m=!0,e[1]===1/0?e[1]=1e10:e[1]===-1/0&&(e[1]=-1e10),e});if(l){if(a&&g.push(g[0]),u){if(!m)return;if(e){if(a)g=tR(g,e);else if(i){tG(g,e).forEach(t=>{h=!1,t.forEach(c)});return}}}g.forEach(c)}else for(let e=0;e<g.length;e++){let i=t[e],r=g[e];r.outside?d=!0:(a&&!o&&(o=i,t.push(i),g.push(r)),d&&s&&(a&&n?t_.geodesic(s,i).forEach(t=>c(p.forward(t))):h=!1),c(r),s=i,d=!1)}})};return"LineString"===t.type?d(t.coordinates):"MultiLineString"===t.type?t.coordinates.forEach(t=>d(t)):"Polygon"===t.type?(t.coordinates.forEach(t=>d(t)),r.length&&r.push(["Z"])):"MultiPolygon"===t.type&&(t.coordinates.forEach(t=>{t.forEach(t=>d(t))}),r.length&&r.push(["Z"])),r}}t_.registry={EqualEarth:tS,LambertConformalConic:tz,Miller:tD,Orthographic:tI,WebMercator:tX};let{composed:tq}=c(),{pointInPolygon:t$}=tw,{topo2geo:tK}=tv,{boundsFromPath:tJ}=ts,{addEvent:tQ,clamp:t0,crisp:t1,fireEvent:t2,isArray:t6,isNumber:t3,isObject:t8,isString:t7,merge:t9,pick:t4,pushUnique:t5,relativeLength:et}=c(),ee={};function ei(t,e){let{width:i,height:o}=e;return Math.log(400.979322/Math.max((t.x2-t.x1)/(i/256),(t.y2-t.y1)/(o/256)))/Math.log(2)}function eo(t){t.seriesOptions.mapData&&this.mapView?.recommendMapView(this,[this.options.chart.map,t.seriesOptions.mapData],this.options.drilldown?.mapZooming)}class es{static compose(t){t5(tq,"MapView")&&(ee=t.maps,tQ(t,"afterInit",function(){this.mapView=new es(this,this.options.mapView)},{order:0}),tQ(t,"addSeriesAsDrilldown",eo),tQ(t,"afterDrillUp",eo))}static compositeBounds(t){if(t.length)return t.slice(1).reduce((t,e)=>(t.x1=Math.min(t.x1,e.x1),t.y1=Math.min(t.y1,e.y1),t.x2=Math.max(t.x2,e.x2),t.y2=Math.max(t.y2,e.y2),t),t9(t[0]))}static mergeInsets(t,e){let i=t=>{let e={};return t.forEach((t,i)=>{e[t&&t.id||`i${i}`]=t}),e},o=t9(i(t),i(e));return Object.keys(o).map(t=>o[t])}constructor(t,e){this.allowTransformAnimation=!0,this.eventsToUnbind=[],this.insets=[],this.padding=[0,0,0,0],this.recommendedMapView={},this instanceof er||this.recommendMapView(t,[t.options.chart.map,...(t.options.series||[]).map(t=>t.mapData)]),this.userOptions=e||{};let i=t9(tc,this.recommendedMapView,e),o=this.recommendedMapView?.insets,s=e&&e.insets;o&&s&&(i.insets=es.mergeInsets(o,s)),this.chart=t,this.center=i.center,this.options=i,this.projection=new t_(i.projection),this.playingField=t.plotBox,this.zoom=i.zoom||0,this.minZoom=i.minZoom,this.createInsets(),this.eventsToUnbind.push(tQ(t,"afterSetChartSize",()=>{this.playingField=this.getField(),(void 0===this.minZoom||this.minZoom===this.zoom)&&(this.fitToBounds(void 0,void 0,!1),!this.chart.hasRendered&&t3(this.userOptions.zoom)&&(this.zoom=this.userOptions.zoom),this.userOptions.center&&t9(!0,this.center,this.userOptions.center))})),this.setUpEvents()}createInsets(){let t=this.options,e=t.insets;e&&e.forEach(e=>{let i=new er(this,t9(t.insetOptions,e));this.insets.push(i)})}fitToBounds(t,e,i=!0,o){let s=t||this.getProjectedBounds();if(s){let r=t4(e,t?0:this.options.padding),a=this.getField(!1),n=t6(r)?r:[r,r,r,r];this.padding=[et(n[0],a.height),et(n[1],a.width),et(n[2],a.height),et(n[3],a.width)],this.playingField=this.getField();let l=ei(s,this.playingField);t||(this.minZoom=l);let h=this.projection.inverse([(s.x2+s.x1)/2,(s.y2+s.y1)/2]);this.setView(h,l,i,o)}}getField(t=!0){let e=t?this.padding:[0,0,0,0];return{x:e[3],y:e[0],width:this.chart.plotWidth-e[1]-e[3],height:this.chart.plotHeight-e[0]-e[2]}}getGeoMap(t){if(t7(t))return ee[t]&&"Topology"===ee[t].type?tK(ee[t]):ee[t];if(t8(t,!0)){if("FeatureCollection"===t.type)return t;if("Topology"===t.type)return tK(t)}}getMapBBox(){let t=this.getProjectedBounds(),e=this.getScale();if(t){let i=this.padding,o=this.projectedUnitsToPixels({x:t.x1,y:t.y2});return{width:(t.x2-t.x1)*e+i[1]+i[3],height:(t.y2-t.y1)*e+i[0]+i[2],x:o.x-i[3],y:o.y-i[0]}}}getProjectedBounds(){let t=this.projection,e=this.chart.series.reduce((t,e)=>{let i=e.getProjectedBounds&&e.getProjectedBounds();return i&&!1!==e.options.affectsMapView&&t.push(i),t},[]),i=this.options.fitToGeometry;if(i){if(!this.fitToGeometryCache){if("MultiPoint"===i.type){let e=i.coordinates.map(e=>t.forward(e)),o=e.map(t=>t[0]),s=e.map(t=>t[1]);this.fitToGeometryCache={x1:Math.min.apply(0,o),x2:Math.max.apply(0,o),y1:Math.min.apply(0,s),y2:Math.max.apply(0,s)}}else this.fitToGeometryCache=tJ(t.path(i))}return this.fitToGeometryCache}return this.projection.bounds||es.compositeBounds(e)}getScale(){return 256/400.979322*Math.pow(2,this.zoom)}getSVGTransform(){let{x:t,y:e,width:i,height:o}=this.playingField,s=this.projection.forward(this.center),r=this.projection.hasCoordinates?-1:1,a=this.getScale(),n=a*r,l=t+i/2-s[0]*a,h=e+o/2-s[1]*n;return{scaleX:a,scaleY:n,translateX:l,translateY:h}}lonLatToPixels(t){let e=this.lonLatToProjectedUnits(t);if(e)return this.projectedUnitsToPixels(e)}lonLatToProjectedUnits(t){let e=this.chart,i=e.mapTransforms;if(i){for(let o in i)if(Object.hasOwnProperty.call(i,o)&&i[o].hitZone){let s=e.transformFromLatLon(t,i[o]);if(s&&t$(s,i[o].hitZone.coordinates[0]))return s}return e.transformFromLatLon(t,i.default)}for(let e of this.insets)if(e.options.geoBounds&&t$({x:t.lon,y:t.lat},e.options.geoBounds.coordinates[0])){let i=e.projection.forward([t.lon,t.lat]),o=e.projectedUnitsToPixels({x:i[0],y:i[1]});return this.pixelsToProjectedUnits(o)}let o=this.projection.forward([t.lon,t.lat]);if(!o.outside)return{x:o[0],y:o[1]}}projectedUnitsToLonLat(t){let e=this.chart,i=e.mapTransforms;if(i){for(let o in i)if(Object.hasOwnProperty.call(i,o)&&i[o].hitZone&&t$(t,i[o].hitZone.coordinates[0]))return e.transformToLatLon(t,i[o]);return e.transformToLatLon(t,i.default)}let o=this.projectedUnitsToPixels(t);for(let t of this.insets)if(t.hitZone&&t$(o,t.hitZone.coordinates[0])){let e=t.pixelsToProjectedUnits(o),i=t.projection.inverse([e.x,e.y]);return{lon:i[0],lat:i[1]}}let s=this.projection.inverse([t.x,t.y]);return{lon:s[0],lat:s[1]}}recommendMapView(t,e,i=!1){this.recommendedMapView={};let o=e.map(t=>this.getGeoMap(t)),s=[];o.forEach(t=>{if(t&&(Object.keys(this.recommendedMapView).length||(this.recommendedMapView=t["hc-recommended-mapview"]||{}),t.bbox)){let[e,i,o,r]=t.bbox;s.push({x1:e,y1:i,x2:o,y2:r})}});let r=s.length&&es.compositeBounds(s);t2(this,"onRecommendMapView",{geoBounds:r,chart:t},function(){if(r&&this.recommendedMapView){if(!this.recommendedMapView.projection){let{x1:t,y1:e,x2:i,y2:o}=r;this.recommendedMapView.projection=i-t>180&&o-e>90?{name:"EqualEarth",parallels:[0,0],rotation:[0]}:{name:"LambertConformalConic",parallels:[e,o],rotation:[-(t+i)/2]}}this.recommendedMapView.insets||(this.recommendedMapView.insets=void 0)}}),this.geoMap=o[0],i&&t.hasRendered&&!t.userOptions.mapView?.projection&&this.recommendedMapView&&this.update(this.recommendedMapView)}redraw(t){this.chart.series.forEach(t=>{t.useMapGeometry&&(t.isDirty=!0)}),this.chart.redraw(t)}setView(t,e,i=!0,o){t&&(this.center=t),"number"==typeof e&&("number"==typeof this.minZoom&&(e=Math.max(e,this.minZoom)),"number"==typeof this.options.maxZoom&&(e=Math.min(e,this.options.maxZoom)),t3(e)&&(this.zoom=e));let s=this.getProjectedBounds();if(s){let t=this.projection.forward(this.center),{x:e,y:i,width:o,height:r}=this.playingField,a=this.getScale(),n=this.projectedUnitsToPixels({x:s.x1,y:s.y1}),l=this.projectedUnitsToPixels({x:s.x2,y:s.y2}),h=[(s.x1+s.x2)/2,(s.y1+s.y2)/2];if(!this.chart.series.some(t=>t.isDrilling)){let s=n.x,p=l.y,d=l.x,c=n.y;d-s<o?t[0]=h[0]:s<e&&d<e+o?t[0]+=Math.max(s-e,d-o-e)/a:d>e+o&&s>e&&(t[0]+=Math.min(d-o-e,s-e)/a),c-p<r?t[1]=h[1]:p<i&&c<i+r?t[1]-=Math.max(p-i,c-r-i)/a:c>i+r&&p>i&&(t[1]-=Math.min(c-r-i,p-i)/a),this.center=this.projection.inverse(t)}this.insets.forEach(t=>{t.options.field&&(t.hitZone=t.getHitZone(),t.playingField=t.getField())}),this.render()}t2(this,"afterSetView"),i&&this.redraw(o)}projectedUnitsToPixels(t){let e=this.getScale(),i=this.projection.forward(this.center),o=this.playingField,s=o.x+o.width/2,r=o.y+o.height/2;return{x:s-e*(i[0]-t.x),y:r+e*(i[1]-t.y)}}pixelsToLonLat(t){return this.projectedUnitsToLonLat(this.pixelsToProjectedUnits(t))}pixelsToProjectedUnits(t){let{x:e,y:i}=t,o=this.getScale(),s=this.projection.forward(this.center),r=this.playingField,a=r.x+r.width/2,n=r.y+r.height/2;return{x:s[0]+(e-a)/o,y:s[1]-(i-n)/o}}setUpEvents(){let t,e,i,{chart:o}=this,s=s=>{let{lastTouches:r,pinchDown:a}=o.pointer,n=this.projection,l=s.touches,{mouseDownX:h,mouseDownY:p}=o,d=0;if(a?.length===1?(h=a[0].chartX,p=a[0].chartY):a?.length===2&&(h=(a[0].chartX+a[1].chartX)/2,p=(a[0].chartY+a[1].chartY)/2),l?.length===2&&r&&(d=Math.log(Math.sqrt(Math.pow(r[0].chartX-r[1].chartX,2)+Math.pow(r[0].chartY-r[1].chartY,2))/Math.sqrt(Math.pow(l[0].chartX-l[1].chartX,2)+Math.pow(l[0].chartY-l[1].chartY,2)))/Math.log(.5)),t3(h)&&t3(p)){let r=`${h},${p}`,{chartX:a,chartY:c}=s.originalEvent;l?.length===2&&(a=(l[0].chartX+l[1].chartX)/2,c=(l[0].chartY+l[1].chartY)/2),r!==e&&(e=r,t=this.projection.forward(this.center),i=(this.projection.options.rotation||[0,0]).slice());let u=n.def&&n.def.bounds,m=u&&ei(u,this.playingField)||-1/0;if("Orthographic"===n.options.name&&2>(l?.length||0)&&(this.minZoom||1/0)<1.3*m){let t=440/(this.getScale()*Math.min(o.plotWidth,o.plotHeight));if(i){let e=(h-a)*t-i[0],s=t0(-i[1]-(p-c)*t,-80,80),r=this.zoom;this.update({projection:{rotation:[-e,-s]}},!1),this.fitToBounds(void 0,void 0,!1),this.zoom=r,o.redraw(!1)}}else if(t3(a)&&t3(c)){let e=this.getScale(),i=this.projection.hasCoordinates?1:-1,o=this.projection.inverse([t[0]+(h-a)/e,t[1]-(p-c)/e*i]);isNaN(o[0]+o[1])||this.zoomBy(d,o,void 0,!1)}s.preventDefault()}};tQ(o,"pan",s),tQ(o,"touchpan",s),tQ(o,"selection",t=>{if(t.resetSelection)this.zoomBy();else{let e=t.x-o.plotLeft,i=t.y-o.plotTop,{y:s,x:r}=this.pixelsToProjectedUnits({x:e,y:i}),{y:a,x:n}=this.pixelsToProjectedUnits({x:e+t.width,y:i+t.height});this.fitToBounds({x1:r,y1:s,x2:n,y2:a},void 0,!0,!t.originalEvent.touches&&void 0),/^touch/.test(t.originalEvent.type)||o.showResetZoom(),t.preventDefault()}})}render(){this.group||(this.group=this.chart.renderer.g("map-view").attr({zIndex:4}).add())}update(t,e=!0,i){let o=t.projection,s=o&&t_.toString(o)!==t_.toString(this.options.projection),r=!1;t9(!0,this.userOptions,t),t9(!0,this.options,t),"insets"in t&&(this.insets.forEach(t=>t.destroy()),this.insets.length=0,r=!0),(s||"fitToGeometry"in t)&&delete this.fitToGeometryCache,(s||r)&&(this.chart.series.forEach(t=>{let e=t.transformGroups;if(t.clearBounds&&t.clearBounds(),t.isDirty=!0,t.isDirtyData=!0,r&&e)for(;e.length>1;){let t=e.pop();t&&t.destroy()}}),s&&(this.projection=new t_(this.options.projection)),r&&this.createInsets(),!t.center&&Object.hasOwnProperty.call(t,"zoom")&&!t3(t.zoom)&&this.fitToBounds(void 0,void 0,!1)),t.center||t3(t.zoom)?this.setView(this.options.center,t.zoom,!1):"fitToGeometry"in t&&this.fitToBounds(void 0,void 0,!1),e&&this.chart.redraw(i)}zoomBy(t,e,i,o){let s=this.chart,r=this.projection.forward(this.center);if("number"==typeof t){let a,n,l,h=this.zoom+t;if(i){let[t,e]=i,o=this.getScale(),a=t-s.plotLeft-s.plotWidth/2,h=e-s.plotTop-s.plotHeight/2;n=r[0]+a/o,l=r[1]+h/o}if("number"==typeof n&&"number"==typeof l){let t=1-Math.pow(2,this.zoom)/Math.pow(2,h),e=r[0]-n,i=r[1]-l;r[0]-=e*t,r[1]+=i*t,a=this.projection.inverse(r)}this.setView(e||a,h,void 0,o)}else this.fitToBounds(void 0,void 0,void 0,o)}}class er extends es{constructor(t,e){if(super(t.chart,e),this.id=e.id,this.mapView=t,this.options=t9({center:[0,0]},t.options.insetOptions,e),this.allBounds=[],this.options.geoBounds){let e=t.projection.path(this.options.geoBounds);this.geoBoundsProjectedBox=tJ(e),this.geoBoundsProjectedPolygon=e.map(t=>[t[1]||0,t[2]||0])}}getField(t=!0){let e=this.hitZone;if(e){let i=t?this.padding:[0,0,0,0],o=e.coordinates[0],s=o.map(t=>t[0]),r=o.map(t=>t[1]),a=Math.min.apply(0,s)+i[3],n=Math.max.apply(0,s)-i[1],l=Math.min.apply(0,r)+i[0],h=Math.max.apply(0,r)-i[2];if(t3(a)&&t3(l))return{x:a,y:l,width:n-a,height:h-l}}return super.getField.call(this,t)}getHitZone(){let{chart:t,mapView:e,options:i}=this,{coordinates:o}=i.field||{};if(o){let s=o[0];if("percent"===i.units){let o="mapBoundingBox"===i.relativeTo&&e.getMapBBox()||t9(t.plotBox,{x:0,y:0});s=s.map(t=>[et(`${t[0]}%`,o.width,o.x),et(`${t[1]}%`,o.height,o.y)])}return{type:"Polygon",coordinates:[s]}}}getProjectedBounds(){return es.compositeBounds(this.allBounds)}isInside(t){let{geoBoundsProjectedBox:e,geoBoundsProjectedPolygon:i}=this;return!!(e&&t.x>=e.x1&&t.x<=e.x2&&t.y>=e.y1&&t.y<=e.y2&&i&&t$(t,i))}render(){let{chart:t,mapView:e,options:i}=this,o=i.borderPath||i.field;if(o&&e.group){let s=!0;this.border||(this.border=t.renderer.path().addClass("highcharts-mapview-inset-border").add(e.group),s=!1),t.styledMode||this.border.attr({stroke:i.borderColor,"stroke-width":i.borderWidth});let r=this.border.strokeWidth(),a="mapBoundingBox"===i.relativeTo&&e.getMapBBox()||e.playingField,n=(o.coordinates||[]).reduce((e,o)=>o.reduce((e,o,s)=>{let[n,l]=o;return"percent"===i.units&&(n=t.plotLeft+et(`${n}%`,a.width,a.x),l=t.plotTop+et(`${l}%`,a.height,a.y)),n=t1(n,r),l=t1(l,r),e.push(0===s?["M",n,l]:["L",n,l]),e},e),[]);this.border[s?"animate":"attr"]({d:n})}}destroy(){this.border&&(this.border=this.border.destroy()),this.eventsToUnbind.forEach(t=>t())}setUpEvents(){}}let{animObject:ea,stop:en}=c(),{noop:el}=c(),{splitPath:eh}=to,{column:ep,scatter:ed}=E().seriesTypes,{extend:ec,find:eu,fireEvent:em,getNestedProperty:eg,isArray:eb,defined:ef,isNumber:ey,isObject:ex,merge:eM,objectEach:ev,pick:ew,splat:eT}=c();class eP extends ed{constructor(){super(...arguments),this.processedData=[]}animate(t){let{chart:e,group:i}=this,o=ea(this.options.animation);t?i.attr({translateX:e.plotLeft+e.plotWidth/2,translateY:e.plotTop+e.plotHeight/2,scaleX:.001,scaleY:.001}):i.animate({translateX:e.plotLeft,translateY:e.plotTop,scaleX:1,scaleY:1},o)}clearBounds(){this.points.forEach(t=>{delete t.bounds,delete t.insetIndex,delete t.projectedPath}),delete this.bounds}doFullTranslate(){return!!(this.isDirtyData||this.chart.isResizing||!this.hasRendered)}drawMapDataLabels(){super.drawDataLabels(),this.dataLabelsGroup&&this.dataLabelsGroup.clip(this.chart.clipRect)}drawPoints(){let t=this,{chart:e,group:i,transformGroups:o=[]}=this,{mapView:s,renderer:r}=e;if(s){this.transformGroups=o,o[0]||(o[0]=r.g().add(i));for(let t=0,e=s.insets.length;t<e;++t)o[t+1]||o.push(r.g().add(i));this.doFullTranslate()&&(this.points.forEach(t=>{let{graphic:e}=t;t.group=o["number"==typeof t.insetIndex?t.insetIndex+1:0],e&&e.parentGroup!==t.group&&e.add(t.group)}),ep.prototype.drawPoints.apply(this),this.points.forEach(i=>{let o=i.graphic;if(o){let s=o.animate,r="";i.name&&(r+="highcharts-name-"+i.name.replace(/ /g,"-").toLowerCase()),i.properties?.["hc-key"]&&(r+=" highcharts-key-"+i.properties["hc-key"].toString().toLowerCase()),r&&o.addClass(r),e.styledMode&&o.css(this.pointAttribs(i,i.selected&&"select"||void 0)),o.attr({visibility:!i.visible&&(i.visible||i.isNull)?"hidden":"inherit"}),o.animate=function(i,r,a){let n=ey(i["stroke-width"])&&!ey(o["stroke-width"]),l=ey(o["stroke-width"])&&!ey(i["stroke-width"]);if(n||l){let s=ew(t.getStrokeWidth(t.options),1)/(e.mapView?.getScale()||1);n&&(o["stroke-width"]=s),l&&(i["stroke-width"]=s)}return s.call(o,i,r,l?function(){o.element.removeAttribute("stroke-width"),delete o["stroke-width"],a&&a.apply(this,arguments)}:a)}}})),o.forEach((i,o)=>{let a=(0===o?s:s.insets[o-1]).getSVGTransform(),n=ew(this.getStrokeWidth(this.options),1),l=a.scaleX,h=a.scaleY>0?1:-1,p=e=>{(t.points||[]).forEach(t=>{let i,o=t.graphic;o?.["stroke-width"]&&(i=this.getStrokeWidth(t.options))&&o.attr({"stroke-width":i/e})})};if(r.globalAnimation&&e.hasRendered&&s.allowTransformAnimation){let t=Number(i.attr("translateX")),e=Number(i.attr("translateY")),o=Number(i.attr("scaleX")),s=(s,r)=>{let d=o+(l-o)*r.pos;i.attr({translateX:t+(a.translateX-t)*r.pos,translateY:e+(a.translateY-e)*r.pos,scaleX:d,scaleY:d*h,"stroke-width":n/d}),p(d)},d=eM(ea(r.globalAnimation)),c=d.step;d.step=function(){c&&c.apply(this,arguments),s.apply(this,arguments)},i.attr({animator:0}).animate({animator:1},d,(function(){"boolean"!=typeof r.globalAnimation&&r.globalAnimation.complete&&r.globalAnimation.complete({applyDrilldown:!0}),em(this,"mapZoomComplete")}).bind(this))}else en(i),i.attr(eM(a,{"stroke-width":n/l})),p(l)}),this.isDrilling||this.drawMapDataLabels()}}getProjectedBounds(){if(!this.bounds&&this.chart.mapView){let{insets:t,projection:e}=this.chart.mapView,i=[];(this.points||[]).forEach(o=>{if(o.path||o.geometry){if("string"==typeof o.path?o.path=eh(o.path):eb(o.path)&&"M"===o.path[0]&&(o.path=this.chart.renderer.pathToSegments(o.path)),!o.bounds){let i=o.getProjectedBounds(e);if(i){o.labelrank=ew(o.labelrank,(i.x2-i.x1)*(i.y2-i.y1));let{midX:e,midY:s}=i;if(t&&ey(e)&&ey(s)){let r=eu(t,t=>t.isInside({x:e,y:s}));r&&(delete o.projectedPath,(i=o.getProjectedBounds(r.projection))&&r.allBounds.push(i),o.insetIndex=t.indexOf(r))}o.bounds=i}}o.bounds&&void 0===o.insetIndex&&i.push(o.bounds)}}),this.bounds=es.compositeBounds(i)}return this.bounds}getStrokeWidth(t){let e=this.pointAttrToOptions;return t[e?.["stroke-width"]||"borderWidth"]}hasData(){return!!this.dataTable.rowCount}pointAttribs(t,e){let{mapView:i,styledMode:o}=t.series.chart,s=o?this.colorAttribs(t):ep.prototype.pointAttribs.call(this,t,e),r=this.getStrokeWidth(t.options);if(e){let i=eM(this.options.states&&this.options.states[e],t.options.states&&t.options.states[e]||{}),o=this.getStrokeWidth(i);ef(o)&&(r=o),s.stroke=i.borderColor??t.color}r&&i&&(r/=i.getScale());let a=this.getStrokeWidth(this.options);return s.dashstyle&&i&&ey(a)&&(r=a/i.getScale()),t.visible||(s.fill=this.options.nullColor),ef(r)?s["stroke-width"]=r:delete s["stroke-width"],s["stroke-linecap"]=s["stroke-linejoin"]=this.options.linecap,s}updateData(){return!this.processedData&&super.updateData.apply(this,arguments)}setData(t,e=!0,i,o){delete this.bounds,super.setData(t,!1,void 0,o),this.processData(),this.generatePoints(),e&&this.chart.redraw(i)}dataColumnKeys(){return this.pointArrayMap}processData(){let t,e,i,o=this.options,s=o.data,r=this.chart,a=r.options.chart,n=this.joinBy,l=o.keys||this.pointArrayMap,h=[],p={},d=this.chart.mapView,u=d&&(ex(o.mapData,!0)?d.getGeoMap(o.mapData):d.geoMap),m=r.mapTransforms=a.mapTransforms||u?.["hc-transform"]||r.mapTransforms;m&&ev(m,t=>{t.rotation&&(t.cosAngle=Math.cos(t.rotation),t.sinAngle=Math.sin(t.rotation))}),eb(o.mapData)?i=o.mapData:u&&"FeatureCollection"===u.type&&(this.mapTitle=u.title,i=c().geojson(u,this.type,this)),this.processedData=[];let g=this.processedData;if(s){let t;for(let e=0,i=s.length;e<i;++e){if(ey(t=s[e]))g[e]={value:t};else if(eb(t)){let i=0;g[e]={},!o.keys&&t.length>l.length&&"string"==typeof t[0]&&(g[e]["hc-key"]=t[0],++i);for(let o=0;o<l.length;++o,++i)l[o]&&void 0!==t[i]&&(l[o].indexOf(".")>0?tp.prototype.setNestedProperty(g[e],t[i],l[o]):g[e][l[o]]=t[i])}else g[e]=s[e];n&&"_i"===n[0]&&(g[e]._i=e)}}if(i){this.mapData=i,this.mapMap={};for(let o=0;o<i.length;o++)e=(t=i[o]).properties,t._i=o,n[0]&&e&&e[n[0]]&&(t[n[0]]=e[n[0]]),p[t[n[0]]]=t;if(this.mapMap=p,n[1]){let t=n[1];g.forEach(e=>{let i=eg(t,e);p[i]&&h.push(p[i])})}if(o.allAreas){if(n[1]){let t=n[1];g.forEach(e=>{h.push(eg(t,e))})}let t="|"+h.map(function(t){return t&&t[n[0]]}).join("|")+"|";i.forEach(e=>{n[0]&&-1!==t.indexOf("|"+e[n[0]]+"|")||g.push(eM(e,{value:null}))})}}this.dataTable.rowCount=g.length}setOptions(t){let e=super.setOptions(t),i=e.joinBy;return null===e.joinBy&&(i="_i"),i&&(this.joinBy=eT(i),this.joinBy[1]||(this.joinBy[1]=this.joinBy[0])),e}translate(){let t=this.doFullTranslate(),e=this.chart.mapView,i=e?.projection;if(this.chart.hasRendered&&(this.isDirtyData||!this.hasRendered)&&(this.processData(),this.generatePoints(),delete this.bounds,!e||e.userOptions.center||ey(e.userOptions.zoom)||e.zoom!==e.minZoom?this.getProjectedBounds():e.fitToBounds(void 0,void 0,!1)),e){let o=e.getSVGTransform();this.points.forEach(s=>{let r=ey(s.insetIndex)&&e.insets[s.insetIndex].getSVGTransform()||o;r&&s.bounds&&ey(s.bounds.midX)&&ey(s.bounds.midY)&&(s.plotX=s.bounds.midX*r.scaleX+r.translateX,s.plotY=s.bounds.midY*r.scaleY+r.translateY),t&&(s.shapeType="path",s.shapeArgs={d:tp.getProjectedPath(s,i)}),s.hiddenInDataClass||(s.projectedPath&&!s.projectedPath.length?s.setVisible(!1):s.visible||s.setVisible(!0))})}em(this,"afterTranslate")}update(t){t.mapData&&this.chart.mapView?.recommendMapView(this.chart,[this.chart.options.chart.map,...(this.chart.options.series||[]).map((e,i)=>i===this._i?t.mapData:e.mapData)],!0),super.update.apply(this,arguments)}}eP.defaultOptions=eM(ed.defaultOptions,{affectsMapView:!0,animation:!1,dataLabels:{crop:!1,formatter:function(){let{numberFormatter:t}=this.series.chart,{value:e}=this.point;return td(e)?t(e,-1):this.point.name||""},inside:!0,overflow:!1,padding:0,verticalAlign:"middle"},linecap:"round",marker:null,nullColor:"#f7f7f7",stickyTracking:!1,tooltip:{followPointer:!0,pointFormat:"{point.name}: {point.value}<br/>"},turboThreshold:0,allAreas:!0,borderColor:"#e6e6e6",borderWidth:1,joinBy:"hc-key",states:{hover:{halo:void 0,borderColor:"#666666",borderWidth:2},normal:{animation:!0},select:{color:"#cccccc"}},legendSymbol:"rectangle"}),ec(eP.prototype,{type:"map",axisTypes:X.seriesMembers.axisTypes,colorAttribs:X.seriesMembers.colorAttribs,colorKey:X.seriesMembers.colorKey,directTouch:!0,drawDataLabels:el,drawGraph:el,forceDL:!0,getCenter:H.getCenter,getExtremesFromAll:!0,getSymbol:el,isCartesian:!1,parallelArrays:X.seriesMembers.parallelArrays,pointArrayMap:X.seriesMembers.pointArrayMap,pointClass:tp,preserveAspectRatio:!0,searchPoint:el,trackerGroups:X.seriesMembers.trackerGroups,useMapGeometry:!0}),X.compose(eP),E().registerSeriesType("map",eP);let ej=eP,{extend:eL,merge:eC}=c();class eA extends ej{pointAttribs(t,e){let i=super.pointAttribs(t,e);return i.fill=this.options.fillColor,i}}eA.defaultOptions=eC(ej.defaultOptions,{lineWidth:1,fillColor:"none",legendSymbol:"lineMarker"}),eL(eA.prototype,{type:"mapline",colorProp:"stroke",pointAttrToOptions:{stroke:"color","stroke-width":"lineWidth"}}),E().registerSeriesType("mapline",eA);let{scatter:ek}=E().seriesTypes,{isNumber:ez}=c();class eB extends ek.prototype.pointClass{isValid(){return!!(this.options.geometry||ez(this.x)&&ez(this.y)||ez(this.options.lon)&&ez(this.options.lat))}}p.d({},{});let{noop:eS}=c(),{map:eE,scatter:eO}=E().seriesTypes,{extend:eD,fireEvent:eV,isNumber:eI,merge:eN}=c();class eX extends eO{constructor(){super(...arguments),this.clearBounds=eE.prototype.clearBounds}drawDataLabels(){super.drawDataLabels(),this.dataLabelsGroup&&this.dataLabelsGroup.clip(this.chart.clipRect)}projectPoint(t){let e=this.chart.mapView;if(e){let{geometry:i,lon:o,lat:s}=t,r=i&&"Point"===i.type&&i.coordinates;if(eI(o)&&eI(s)&&(r=[o,s]),r)return e.lonLatToProjectedUnits({lon:r[0],lat:r[1]})}}translate(){let t=this.chart.mapView;if(this.generatePoints(),this.getProjectedBounds&&this.isDirtyData&&(delete this.bounds,this.getProjectedBounds()),t){let e=t.getSVGTransform(),{hasCoordinates:i}=t.projection;this.points.forEach(o=>{let s,{x:r,y:a}=o,n=eI(o.insetIndex)&&t.insets[o.insetIndex].getSVGTransform()||e,l=this.projectPoint(o.options)||o.properties&&this.projectPoint(o.properties);if(l?(r=l.x,a=l.y):o.bounds&&(r=o.bounds.midX,a=o.bounds.midY,n&&eI(r)&&eI(a)&&(o.plotX=r*n.scaleX+n.translateX,o.plotY=a*n.scaleY+n.translateY,s=!0)),eI(r)&&eI(a)){if(!s){let e=t.projectedUnitsToPixels({x:r,y:a});o.plotX=e.x,o.plotY=i?e.y:this.chart.plotHeight-e.y}}else o.y=o.plotX=o.plotY=void 0;o.isInside=this.isPointInside(o),o.zone=this.zones.length?o.getZone():void 0})}eV(this,"afterTranslate")}}eX.defaultOptions=eN(eO.defaultOptions,{dataLabels:{crop:!1,defer:!1,enabled:!0,formatter:function(){return this.point.name},overflow:!1,style:{color:"#000000"}},legendSymbol:"lineMarker"}),K().prototype.symbols.mapmarker=(t,e,i,o,s)=>{let r,a,n=s&&"legend"===s.context;n?(r=t+i/2,a=e+o):s&&"number"==typeof s.anchorX&&"number"==typeof s.anchorY?(r=s.anchorX,a=s.anchorY):(r=t+i/2,a=e+o/2,e-=o);let l=n?o/3:o/2;return[["M",r,a],["C",r,a,r-l,e+1.5*l,r-l,e+l],["A",l,l,1,1,1,r+l,e+l],["C",r+l,e+1.5*l,r,a,r,a],["Z"]]},eD(eX.prototype,{type:"mappoint",axisTypes:["colorAxis"],forceDL:!0,isCartesian:!1,pointClass:eB,searchPoint:eS,useMapGeometry:!0}),E().registerSeriesType("mappoint",eX);let eG={borderColor:void 0,borderWidth:2,className:void 0,color:void 0,connectorClassName:void 0,connectorColor:void 0,connectorDistance:60,connectorWidth:1,enabled:!1,labels:{className:void 0,allowOverlap:!1,format:"",formatter:void 0,align:"right",style:{fontSize:"0.9em",color:"#000000"},x:0,y:0},maxSize:60,minSize:10,legendIndex:0,ranges:{value:void 0,borderColor:void 0,color:void 0,connectorColor:void 0},sizeBy:"area",sizeByAbsoluteValue:!1,zIndex:1,zThreshold:0},{noop:eR}=c(),{arrayMax:eY,arrayMin:eF,isNumber:eU,merge:eZ,pick:eW,stableSort:eH}=c(),e_=class{constructor(t,e){this.setState=eR,this.init(t,e)}init(t,e){this.options=t,this.visible=!0,this.chart=e.chart,this.legend=e}addToLegend(t){t.splice(this.options.legendIndex,0,this)}drawLegendSymbol(t){let e,i=eW(t.options.itemDistance,20),o=this.legendItem||{},s=this.options,r=s.ranges,a=s.connectorDistance;if(!r||!r.length||!eU(r[0].value)){t.options.bubbleLegend.autoRanges=!0;return}eH(r,function(t,e){return e.value-t.value}),this.ranges=r,this.setOptions(),this.render();let n=this.getMaxLabelSize(),l=this.ranges[0].radius,h=2*l;e=(e=a-l+n.width)>0?e:0,this.maxLabel=n,this.movementX="left"===s.labels.align?e:0,o.labelWidth=h+e+i,o.labelHeight=h+n.height/2}setOptions(){let t=this.ranges,e=this.options,i=this.chart.series[e.seriesIndex],o=this.legend.baseline,s={zIndex:e.zIndex,"stroke-width":e.borderWidth},r={zIndex:e.zIndex,"stroke-width":e.connectorWidth},a={align:this.legend.options.rtl||"left"===e.labels.align?"right":"left",zIndex:e.zIndex},n=i.options.marker.fillOpacity,l=this.chart.styledMode;t.forEach(function(h,p){l||(s.stroke=eW(h.borderColor,e.borderColor,i.color),s.fill=h.color||e.color,s.fill||(s.fill=i.color,s["fill-opacity"]=n??1),r.stroke=eW(h.connectorColor,e.connectorColor,i.color)),t[p].radius=this.getRangeRadius(h.value),t[p]=eZ(t[p],{center:t[0].radius-t[p].radius+o}),l||eZ(!0,t[p],{bubbleAttribs:eZ(s),connectorAttribs:eZ(r),labelAttribs:a})},this)}getRangeRadius(t){let e=this.options,i=this.options.seriesIndex,o=this.chart.series[i],s=e.ranges[0].value,r=e.ranges[e.ranges.length-1].value,a=e.minSize,n=e.maxSize;return o.getRadius.call(this,r,s,a,n,t)}render(){let t=this.legendItem||{},e=this.chart.renderer,i=this.options.zThreshold;for(let o of(this.symbols||(this.symbols={connectors:[],bubbleItems:[],labels:[]}),t.symbol=e.g("bubble-legend"),t.label=e.g("bubble-legend-item").css(this.legend.itemStyle||{}),t.symbol.translateX=0,t.symbol.translateY=0,t.symbol.add(t.label),t.label.add(t.group),this.ranges))o.value>=i&&this.renderRange(o);this.hideOverlappingLabels()}renderRange(t){let e=this.ranges[0],i=this.legend,o=this.options,s=o.labels,r=this.chart,a=r.series[o.seriesIndex],n=r.renderer,l=this.symbols,h=l.labels,p=t.center,d=Math.abs(t.radius),c=o.connectorDistance||0,u=s.align,m=i.options.rtl,g=o.borderWidth,b=o.connectorWidth,f=e.radius||0,y=p-d-g/2+b/2,x=(y%1?1:.5)-(b%2?0:.5),M=n.styledMode,v=m||"left"===u?-c:c;"center"===u&&(v=0,o.connectorDistance=0,t.labelAttribs.align="center"),l.bubbleItems.push(n.circle(f,p+x,d).attr(M?{}:t.bubbleAttribs).addClass((M?"highcharts-color-"+a.colorIndex+" ":"")+"highcharts-bubble-legend-symbol "+(o.className||"")).add(this.legendItem.symbol)),l.connectors.push(n.path(n.crispLine([["M",f,y],["L",f+v,y]],o.connectorWidth)).attr(M?{}:t.connectorAttribs).addClass((M?"highcharts-color-"+this.options.seriesIndex+" ":"")+"highcharts-bubble-legend-connectors "+(o.connectorClassName||"")).add(this.legendItem.symbol));let w=n.text(this.formatLabel(t)).attr(M?{}:t.labelAttribs).css(M?{}:s.style).addClass("highcharts-bubble-legend-labels "+(o.labels.className||"")).add(this.legendItem.symbol),T={x:f+v+o.labels.x,y:y+o.labels.y+.4*w.getBBox().height};w.attr(T),h.push(w),w.placed=!0,w.alignAttr=T}getMaxLabelSize(){let t,e;return this.symbols.labels.forEach(function(i){e=i.getBBox(!0),t=t?e.width>t.width?e:t:e}),t||{}}formatLabel(t){let e=this.options,i=e.labels.formatter,o=e.labels.format,{numberFormatter:s}=this.chart;return o?tm().format(o,t,this.chart):i?i.call(t):s(t.value,1)}hideOverlappingLabels(){let t=this.chart,e=this.options.labels.allowOverlap,i=this.symbols;!e&&i&&(t.hideOverlappingLabels(i.labels),i.labels.forEach(function(t,e){t.newOpacity?t.newOpacity!==t.oldOpacity&&i.connectors[e].show():i.connectors[e].hide()}))}getRanges(){let t=this.legend.bubbleLegend,e=t.chart.series,i=t.options.ranges,o,s,r=Number.MAX_VALUE,a=-Number.MAX_VALUE;return e.forEach(function(t){t.isBubble&&!t.ignoreSeries&&(s=t.getColumn("z").filter(eU)).length&&(r=eW(t.options.zMin,Math.min(r,Math.max(eF(s),!1===t.options.displayNegative?t.options.zThreshold:-Number.MAX_VALUE))),a=eW(t.options.zMax,Math.max(a,eY(s))))}),o=r===a?[{value:a}]:[{value:r},{value:(r+a)/2},{value:a,autoRanges:!0}],i.length&&i[0].radius&&o.reverse(),o.forEach(function(t,e){i&&i[e]&&(o[e]=eZ(i[e],t))}),o}predictBubbleSizes(){let t=this.chart,e=t.legend.options,i=e.floating,o="horizontal"===e.layout,s=o?t.legend.lastLineHeight:0,r=t.plotSizeX,a=t.plotSizeY,n=t.series[this.options.seriesIndex],l=n.getPxExtremes(),h=Math.ceil(l.minPxSize),p=Math.ceil(l.maxPxSize),d=Math.min(a,r),c,u=n.options.maxSize;return i||!/%$/.test(u)?c=p:(c=(d+s)*(u=parseFloat(u))/100/(u/100+1),(o&&a-c>=r||!o&&r-c>=a)&&(c=p)),[h,Math.ceil(c)]}updateRanges(t,e){let i=this.legend.options.bubbleLegend;i.minSize=t,i.maxSize=e,i.ranges=this.getRanges()}correctSizes(){let t=this.legend,e=this.chart.series[this.options.seriesIndex].getPxExtremes();Math.abs(Math.ceil(e.maxPxSize)-this.options.maxSize)>1&&(this.updateRanges(this.options.minSize,e.maxPxSize),t.render())}},{setOptions:eq}=c(),{composed:e$}=c(),{addEvent:eK,objectEach:eJ,pushUnique:eQ,wrap:e0}=c();function e1(t,e,i){let o,s,r,a=this.legend,n=e2(this)>=0;a&&a.options.enabled&&a.bubbleLegend&&a.options.bubbleLegend.autoRanges&&n?(o=a.bubbleLegend.options,s=a.bubbleLegend.predictBubbleSizes(),a.bubbleLegend.updateRanges(s[0],s[1]),o.placed||(a.group.placed=!1,a.allItems.forEach(t=>{(r=t.legendItem||{}).group&&(r.group.translateY=void 0)})),a.render(),o.placed||(this.getMargins(),this.axes.forEach(t=>{t.setScale(),t.updateNames(),eJ(t.ticks,function(t){t.isNew=!0,t.isNewLabel=!0})}),this.getMargins()),o.placed=!0,t.call(this,e,i),a.bubbleLegend.correctSizes(),e7(a,e6(a))):(t.call(this,e,i),a&&a.options.enabled&&a.bubbleLegend&&(a.render(),e7(a,e6(a))))}function e2(t){let e=t.series,i=0;for(;i<e.length;){if(e[i]&&e[i].isBubble&&e[i].visible&&e[i].dataTable.rowCount)return i;i++}return -1}function e6(t){let e=t.allItems,i=[],o=e.length,s,r,a,n=0,l=0;for(n=0;n<o;n++)if(r=e[n].legendItem||{},a=(e[n+1]||{}).legendItem||{},r.labelHeight&&(e[n].itemHeight=r.labelHeight),e[n]===e[o-1]||r.y!==a.y){for(i.push({height:0}),s=i[i.length-1];l<=n;l++)e[l].itemHeight>s.height&&(s.height=e[l].itemHeight);s.step=n}return i}function e3(t){let e=this.bubbleLegend,i=this.options,o=i.bubbleLegend,s=e2(this.chart);e&&e.ranges&&e.ranges.length&&(o.ranges.length&&(o.autoRanges=!!o.ranges[0].autoRanges),this.destroyItem(e)),s>=0&&i.enabled&&o.enabled&&(o.seriesIndex=s,this.bubbleLegend=new e_(o,this),this.bubbleLegend.addToLegend(t.allItems))}function e8(t){let e;if(t.defaultPrevented)return!1;let i=t.legendItem,o=this.chart,s=i.visible;this&&this.bubbleLegend&&(i.visible=!s,i.ignoreSeries=s,e=e2(o)>=0,this.bubbleLegend.visible!==e&&(this.update({bubbleLegend:{enabled:e}}),this.bubbleLegend.visible=e),i.visible=s)}function e7(t,e){let i=t.allItems,o=t.options.rtl,s,r,a,n,l=0;i.forEach((t,i)=>{(n=t.legendItem||{}).group&&(s=n.group.translateX||0,r=n.y||0,((a=t.movementX)||o&&t.ranges)&&(a=o?s-t.options.maxSize/2:s+a,n.group.attr({translateX:a})),i>e[l].step&&l++,n.group.attr({translateY:Math.round(r+e[l].height/2)}),n.y=r+e[l].height/2)})}let e9=function(t,e){eQ(e$,"Series.BubbleLegend")&&(eq({legend:{bubbleLegend:eG}}),e0(t.prototype,"drawChartBox",e1),eK(e,"afterGetAllItems",e3),eK(e,"itemClick",e8))},e4=e.default.Point;var e5=p.n(e4);let{seriesTypes:{scatter:{prototype:{pointClass:it}}}}=E(),{extend:ie}=c();class ii extends it{haloPath(t){let e=(t&&this.marker&&this.marker.radius||0)+t;if(this.series.chart.inverted){let t=this.pos()||[0,0],{xAxis:i,yAxis:o,chart:s}=this.series;return s.renderer.symbols.circle(i.len-t[1]-e,o.len-t[0]-e,2*e,2*e)}return e5().prototype.haloPath.call(this,e)}}ie(ii.prototype,{ttBelow:!1});let io=ii,{composed:is,noop:ir}=c(),{series:ia,seriesTypes:{column:{prototype:il},scatter:ih}}=E(),{addEvent:ip,arrayMax:id,arrayMin:ic,clamp:iu,extend:im,isNumber:ig,merge:ib,pick:iy,pushUnique:ix}=c();function iM(){let t=this.len,{coll:e,isXAxis:i,min:o}=this,s=(this.max||0)-(o||0),r=0,a=t,n=t/s,l;("xAxis"===e||"yAxis"===e)&&(this.series.forEach(t=>{if(t.bubblePadding&&t.reserveSpace()){this.allowZoomOutside=!0,l=!0;let e=t.getColumn(i?"x":"y");if(i&&((t.onPoint||t).getRadii(0,0,t),t.onPoint&&(t.radii=t.onPoint.radii)),s>0){let i=e.length;for(;i--;)if(ig(e[i])&&this.dataMin<=e[i]&&e[i]<=this.max){let s=t.radii&&t.radii[i]||0;r=Math.min((e[i]-o)*n-s,r),a=Math.max((e[i]-o)*n+s,a)}}}}),l&&s>0&&!this.logarithmic&&(a-=t,n*=(t+Math.max(0,r)-Math.min(a,t))/t,[["min","userMin",r],["max","userMax",a]].forEach(t=>{void 0===iy(this.options[t[0]],this[t[1]])&&(this[t[0]]+=t[2]/n)})))}function iv(){let{ticks:t,tickPositions:e,dataMin:i=0,dataMax:o=0,categories:s}=this,r=this.options.type;if((s?.length||"category"===r)&&this.series.find(t=>t.bubblePadding)){let s=e.length;for(;s--;){let r=t[e[s]],a=r.pos||0;(a>o||a<i)&&r.label?.hide()}}}class iw extends ih{static compose(t,e,i){e9(e,i),ix(is,"Series.Bubble")&&(ip(t,"foundExtremes",iM),ip(t,"afterRender",iv))}animate(t){!t&&this.points.length<this.options.animationLimit&&this.points.forEach(function(t){let{graphic:e,plotX:i=0,plotY:o=0}=t;e&&e.width&&(this.hasRendered||e.attr({x:i,y:o,width:1,height:1}),e.animate(this.markerAttribs(t),this.options.animation))},this)}getRadii(){let t=this.getColumn("z"),e=this.getColumn("y"),i=[],o,s,r,a=this.chart.bubbleZExtremes,{minPxSize:n,maxPxSize:l}=this.getPxExtremes();if(!a){let t,e=Number.MAX_VALUE,i=-Number.MAX_VALUE;this.chart.series.forEach(o=>{if(o.bubblePadding&&o.reserveSpace()){let s=(o.onPoint||o).getZExtremes();s&&(e=Math.min(iy(e,s.zMin),s.zMin),i=Math.max(iy(i,s.zMax),s.zMax),t=!0)}}),t?(a={zMin:e,zMax:i},this.chart.bubbleZExtremes=a):a={zMin:0,zMax:0}}for(s=0,o=t.length;s<o;s++)r=t[s],i.push(this.getRadius(a.zMin,a.zMax,n,l,r,e&&e[s]));this.radii=i}getRadius(t,e,i,o,s,r){let a=this.options,n="width"!==a.sizeBy,l=a.zThreshold,h=e-t,p=.5;if(null===r||null===s)return null;if(ig(s)){if(a.sizeByAbsoluteValue&&(s=Math.abs(s-l),e=h=Math.max(e-l,Math.abs(t-l)),t=0),s<t)return i/2-1;h>0&&(p=(s-t)/h)}return n&&p>=0&&(p=Math.sqrt(p)),Math.ceil(i+p*(o-i))/2}hasData(){return!!this.dataTable.rowCount}markerAttribs(t,e){let i=super.markerAttribs(t,e),{height:o=0,width:s=0}=i;return this.chart.inverted?im(i,{x:(t.plotX||0)-s/2,y:(t.plotY||0)-o/2}):i}pointAttribs(t,e){let i=this.options.marker,o=i?.fillOpacity,s=ia.prototype.pointAttribs.call(this,t,e);return s["fill-opacity"]=o??1,s}translate(){super.translate.call(this),this.getRadii(),this.translateBubble()}translateBubble(){let{data:t,options:e,radii:i}=this,{minPxSize:o}=this.getPxExtremes(),s=t.length;for(;s--;){let r=t[s],a=i?i[s]:0;"z"===this.zoneAxis&&(r.negative=(r.z||0)<(e.zThreshold||0)),ig(a)&&a>=o/2?(r.marker=im(r.marker,{radius:a,width:2*a,height:2*a}),r.dlBox={x:r.plotX-a,y:r.plotY-a,width:2*a,height:2*a}):(r.shapeArgs=r.plotY=r.dlBox=void 0,r.isInside=!1)}}getPxExtremes(){let t=Math.min(this.chart.plotWidth,this.chart.plotHeight),e=e=>{let i;return"string"==typeof e&&(i=/%$/.test(e),e=parseInt(e,10)),i?t*e/100:e},i=e(iy(this.options.minSize,8)),o=Math.max(e(iy(this.options.maxSize,"20%")),i);return{minPxSize:i,maxPxSize:o}}getZExtremes(){let t=this.options,e=this.getColumn("z").filter(ig);if(e.length){let i=iy(t.zMin,iu(ic(e),!1===t.displayNegative?t.zThreshold||0:-Number.MAX_VALUE,Number.MAX_VALUE)),o=iy(t.zMax,id(e));if(ig(i)&&ig(o))return{zMin:i,zMax:o}}}searchKDTree(t,e,i,o=ir,s=ir){return o=(t,e,i)=>{let o=t[i]||0,s=e[i]||0,r,a=!1;return o===s?r=t.index>e.index?t:e:o<0&&s<0?(r=o-(t.marker?.radius||0)>=s-(e.marker?.radius||0)?t:e,a=!0):r=o<s?t:e,[r,a]},s=(t,e,i)=>!i&&t>e||t<e,super.searchKDTree(t,e,i,o,s)}}iw.defaultOptions=ib(ih.defaultOptions,{dataLabels:{formatter:function(){let{numberFormatter:t}=this.series.chart,{z:e}=this.point;return ig(e)?t(e,-1):""},inside:!0,verticalAlign:"middle"},animationLimit:250,marker:{lineColor:null,lineWidth:1,fillOpacity:.5,radius:null,states:{hover:{radiusPlus:0}},symbol:"circle"},minSize:8,maxSize:"20%",softThreshold:!1,states:{hover:{halo:{size:5}}},tooltip:{pointFormat:"({point.x}, {point.y}), Size: {point.z}"},turboThreshold:0,zThreshold:0,zoneAxis:"z"}),im(iw.prototype,{alignDataLabel:il.alignDataLabel,applyZones:ir,bubblePadding:!0,isBubble:!0,keysAffectYAxis:["y"],pointArrayMap:["y","z"],pointClass:io,parallelArrays:["x","y","z"],trackerGroups:["group","dataLabelsGroup"],specialGroup:"group",zoneAxis:"z"}),ip(iw,"updatedData",t=>{delete t.target.chart.bubbleZExtremes}),ip(iw,"remove",t=>{delete t.target.chart.bubbleZExtremes}),E().registerSeriesType("bubble",iw);let iT=iw,{seriesTypes:{map:{prototype:{pointClass:{prototype:iP}}}}}=E(),{extend:ij}=c();class iL extends io{isValid(){return"number"==typeof this.z}}ij(iL.prototype,{applyOptions:iP.applyOptions,getProjectedBounds:iP.getProjectedBounds});let{seriesTypes:{map:{prototype:iC},mappoint:{prototype:iA}}}=E(),{extend:ik,merge:iz}=c();class iB extends iT{constructor(){super(...arguments),this.clearBounds=iC.clearBounds}searchPoint(t,e){return this.searchKDTree({plotX:t.chartX-this.chart.plotLeft,plotY:t.chartY-this.chart.plotTop},e,t)}translate(){iA.translate.call(this),this.getRadii(),this.translateBubble()}}iB.defaultOptions=iz(iT.defaultOptions,{lineWidth:0,animationLimit:500,joinBy:"hc-key",tooltip:{pointFormat:"{point.name}: {point.z}"}}),ik(iB.prototype,{type:"mapbubble",axisTypes:["colorAxis"],getProjectedBounds:iC.getProjectedBounds,isCartesian:!1,pointArrayMap:["z"],pointClass:iL,processData:iC.processData,projectPoint:iA.projectPoint,kdAxisArray:["plotX","plotY"],setData:iC.setData,setOptions:iC.setOptions,updateData:iC.updateData,useMapGeometry:!0,xyFromShape:!0}),E().registerSeriesType("mapbubble",iB);let iS=e.default.Color;var iE=p.n(iS);let{scatter:{prototype:{pointClass:iO}}}=E().seriesTypes,{clamp:iD,defined:iV,extend:iI,pick:iN}=c();class iX extends iO{applyOptions(t,e){return(this.isNull||null===this.value)&&delete this.color,super.applyOptions(t,e),this.formatPrefix=this.isNull||null===this.value?"null":"point",this}getCellAttributes(){let t=this.series,e=t.options,i=(e.colsize||1)/2,o=(e.rowsize||1)/2,s=t.xAxis,r=t.yAxis,a=this.options.marker||t.options.marker,n=t.pointPlacementToXValue(),l=iN(this.pointPadding,e.pointPadding,0),h={x1:iD(Math.round(s.len-s.translate(this.x-i,!1,!0,!1,!0,-n)),-s.len,2*s.len),x2:iD(Math.round(s.len-s.translate(this.x+i,!1,!0,!1,!0,-n)),-s.len,2*s.len),y1:iD(Math.round(r.translate(this.y-o,!1,!0,!1,!0)),-r.len,2*r.len),y2:iD(Math.round(r.translate(this.y+o,!1,!0,!1,!0)),-r.len,2*r.len)};for(let t of[["width","x"],["height","y"]]){let e=t[0],i=t[1],o=i+"1",n=i+"2",p=Math.abs(h[o]-h[n]),d=a&&a.lineWidth||0,c=Math.abs(h[o]+h[n])/2,u=a&&a[e];if(iV(u)&&u<p){let t=u/2+d/2;h[o]=c-t,h[n]=c+t}l&&(("x"===i&&s.reversed||"y"===i&&!r.reversed)&&(o=n,n=i+"1"),h[o]+=l,h[n]-=l)}return h}haloPath(t){if(!t)return[];let{x:e=0,y:i=0,width:o=0,height:s=0}=this.shapeArgs||{};return[["M",e-t,i-t],["L",e-t,i+s+t],["L",e+o+t,i+s+t],["L",e+o+t,i-t],["Z"]]}isValid(){return this.value!==1/0&&this.value!==-1/0}}iI(iX.prototype,{dataLabelOnNull:!0,moveToTopOnHover:!0,ttBelow:!1});let{isNumber:iG}=c(),{doc:iR}=c(),{defined:iY,pick:iF}=c(),{series:iU,seriesTypes:{column:iZ,scatter:iW}}=E(),{prototype:{symbols:iH}}=K(),{addEvent:i_,extend:iq,fireEvent:i$,isNumber:iK,merge:iJ,pick:iQ}=c(),{colorFromPoint:i0,getContext:i1}={colorFromPoint:function(t,e){let i=e.series.colorAxis;if(i){let o=i.toColor(t||0,e).split(")")[0].split("(")[1].split(",").map(t=>iF(parseFloat(t),parseInt(t,10)));return o[3]=255*iF(o[3],1),iY(t)&&e.visible||(o[3]=0),o}return[0,0,0,0]},getContext:function(t){let{canvas:e,context:i}=t;return e&&i?(i.clearRect(0,0,e.width,e.height),i):(t.canvas=iR.createElement("canvas"),t.context=t.canvas.getContext("2d",{willReadFrequently:!0})||void 0,t.context)}};class i2 extends iW{constructor(){super(...arguments),this.valueMax=NaN,this.valueMin=NaN,this.isDirtyCanvas=!0}drawPoints(){let t=this,e=t.options,i=e.interpolation,o=e.marker||{};if(i){let{image:e,chart:i,xAxis:o,yAxis:s}=t,{reversed:r=!1,len:a}=o,{reversed:n=!1,len:l}=s,h={width:a,height:l};if(!e||t.isDirtyData||t.isDirtyCanvas){let a=i1(t),{canvas:l,options:{colsize:p=1,rowsize:d=1},points:c,points:{length:u}}=t,m=i.colorAxis&&i.colorAxis[0];if(l&&a&&m){let{min:m,max:g}=o.getExtremes(),{min:b,max:f}=s.getExtremes(),y=g-m,x=f-b,M=Math.round(y/p/8*8),v=Math.round(x/d/8*8),[w,T]=[[M,M/y,r,"ceil"],[v,v/x,!n,"floor"]].map(([t,e,i,o])=>i?i=>Math[o](t-e*i):t=>Math[o](e*t)),P=l.width=M+1,j=P*(l.height=v+1),L=(u-1)/j,C=new Uint8ClampedArray(4*j),A=(t,e)=>4*Math.ceil(P*T(e-b)+w(t-m));t.buildKDTree();for(let t=0;t<j;t++){let e=c[Math.ceil(L*t)],{x:i,y:o}=e;C.set(i0(e.value,e),A(i,o))}a.putImageData(new ImageData(C,P),0,0),e?e.attr({...h,href:l.toDataURL("image/png",1)}):(t.directTouch=!1,t.image=i.renderer.image(l.toDataURL("image/png",1)).attr(h).add(t.group))}t.isDirtyCanvas=!1}else(e.width!==a||e.height!==l)&&e.attr(h)}else(o.enabled||t._hasPointMarkers)&&(iU.prototype.drawPoints.call(t),t.points.forEach(e=>{e.graphic&&(e.graphic[t.chart.styledMode?"css":"animate"](t.colorAttribs(e)),null===e.value&&e.graphic.addClass("highcharts-null-point"))}))}getExtremes(){let{dataMin:t,dataMax:e}=iU.prototype.getExtremes.call(this,this.getColumn("value"));return iK(t)&&(this.valueMin=t),iK(e)&&(this.valueMax=e),iU.prototype.getExtremes.call(this)}getValidPoints(t,e){return iU.prototype.getValidPoints.call(this,t,e,!0)}hasData(){return!!this.dataTable.rowCount}init(){super.init.apply(this,arguments);let t=this.options;t.pointRange=iQ(t.pointRange,t.colsize||1),this.yAxis.axisPointRange=t.rowsize||1,iH.ellipse=iH.circle,t.marker&&iK(t.borderRadius)&&(t.marker.r=t.borderRadius)}markerAttribs(t,e){let i=t.shapeArgs||{};if(t.hasImage)return{x:t.plotX,y:t.plotY};if(e&&"normal"!==e){let o=t.options.marker||{},s=this.options.marker||{},r=s.states?.[e]||{},a=o.states?.[e]||{},n=(a.width||r.width||i.width||0)+(a.widthPlus||r.widthPlus||0),l=(a.height||r.height||i.height||0)+(a.heightPlus||r.heightPlus||0);return{x:(i.x||0)+((i.width||0)-n)/2,y:(i.y||0)+((i.height||0)-l)/2,width:n,height:l}}return i}pointAttribs(t,e){let i=iU.prototype.pointAttribs.call(this,t,e),o=this.options||{},s=this.chart.options.plotOptions||{},r=s.series||{},a=s.heatmap||{},n=t?.options.borderColor||o.borderColor||a.borderColor||r.borderColor,l=t?.options.borderWidth||o.borderWidth||a.borderWidth||r.borderWidth||i["stroke-width"];if(i.stroke=t?.marker?.lineColor||o.marker?.lineColor||n||this.color,i["stroke-width"]=l,e&&"normal"!==e){let s=iJ(o.states?.[e],o.marker?.states?.[e],t?.options.states?.[e]||{});i.fill=s.color||iE().parse(i.fill).brighten(s.brightness||0).get(),i.stroke=s.lineColor||i.stroke}return i}translate(){let{borderRadius:t,marker:e}=this.options,i=e?.symbol||"rect",o=iH[i]?i:"rect",s=-1!==["circle","square"].indexOf(o);for(let e of(this.generatePoints(),this.points)){let r=e.getCellAttributes(),a=Math.min(r.x1,r.x2),n=Math.min(r.y1,r.y2),l=Math.max(Math.abs(r.x2-r.x1),0),h=Math.max(Math.abs(r.y2-r.y1),0);if(e.hasImage=0===(e.marker?.symbol||i||"").indexOf("url"),s){let t=Math.abs(l-h);a=Math.min(r.x1,r.x2)+(l<h?0:t/2),n=Math.min(r.y1,r.y2)+(l<h?t/2:0),l=h=Math.min(l,h)}e.hasImage&&(e.marker={width:l,height:h}),e.plotX=e.clientX=(r.x1+r.x2)/2,e.plotY=(r.y1+r.y2)/2,e.shapeType="path",e.shapeArgs=iJ(!0,{x:a,y:n,width:l,height:h},{d:iH[o](a,n,l,h,{r:iK(t)?t:0})})}i$(this,"afterTranslate")}}i2.defaultOptions=iJ(iW.defaultOptions,{animation:!1,borderRadius:0,borderWidth:0,interpolation:!1,nullColor:"#f7f7f7",dataLabels:{formatter:function(){let{numberFormatter:t}=this.series.chart,{value:e}=this.point;return iG(e)?t(e,-1):""},inside:!0,verticalAlign:"middle",crop:!1,overflow:"allow",padding:0},marker:{symbol:"rect",radius:0,lineColor:void 0,states:{hover:{lineWidthPlus:0},select:{}}},clip:!0,pointRange:null,tooltip:{pointFormat:"{point.x}, {point.y}: {point.value}<br/>"},states:{hover:{halo:!1,brightness:.2}},legendSymbol:"rectangle"}),i_(i2,"afterDataClassLegendClick",function(){this.isDirtyCanvas=!0,this.drawPoints()}),iq(i2.prototype,{axisTypes:X.seriesMembers.axisTypes,colorKey:X.seriesMembers.colorKey,directTouch:!0,getExtremesFromAll:!0,keysAffectYAxis:["y"],parallelArrays:X.seriesMembers.parallelArrays,pointArrayMap:["y","value"],pointClass:iX,specialGroup:"group",trackerGroups:X.seriesMembers.trackerGroups,alignDataLabel:iZ.prototype.alignDataLabel,colorAttribs:X.seriesMembers.colorAttribs,getSymbol:iU.prototype.getSymbol}),X.compose(i2),E().registerSeriesType("heatmap",i2);let i6=c();i6.ColorMapComposition=X,i6.MapChart=i6.MapChart||to,i6.MapNavigation=i6.MapNavigation||B,i6.MapView=i6.MapView||es,i6.Projection=i6.Projection||t_,i6.mapChart=i6.Map=i6.MapChart.mapChart,i6.maps=i6.MapChart.maps,i6.geojson=tv.geojson,i6.topo2geo=tv.topo2geo,tv.compose(i6.Chart),iB.compose(i6.Axis,i6.Chart,i6.Legend),B.compose(to,i6.Pointer,i6.SVGRenderer),es.compose(to);let i3=c();export{i3 as default};
1
+ /**
2
+ * Highmaps JS v12.3.0 (2025-06-21)
3
+ * @module highcharts/modules/map
4
+ * @requires highcharts
5
+ *
6
+ * Highmaps as a plugin for Highcharts or Highcharts Stock.
7
+ *
8
+ * (c) 2011-2025 Torstein Honsi
9
+ *
10
+ * License: www.highcharts.com/license
11
+ */let t;import*as e from"../highcharts.js";import"./coloraxis.js";var i,o,s,r,a,n,l,h,p={};p.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return p.d(e,{a:e}),e},p.d=(t,e)=>{for(var i in e)p.o(e,i)&&!p.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},p.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);let d=e.default;var c=p.n(d);p.d({},{});let u={lang:{zoomIn:"Zoom in",zoomOut:"Zoom out"},mapNavigation:{buttonOptions:{alignTo:"plotBox",align:"left",verticalAlign:"top",x:0,width:18,height:18,padding:5,style:{color:"#666666",fontSize:"1em",fontWeight:"bold"},theme:{fill:"#ffffff",stroke:"#e6e6e6","stroke-width":1,"text-align":"center"}},buttons:{zoomIn:{onclick:function(){this.mapZoom(.5)},text:"+",y:0},zoomOut:{onclick:function(){this.mapZoom(2)},text:"-",y:28}},mouseWheelSensitivity:1.1}},{defined:m,extend:g,pick:b,wrap:f}=c();!function(t){let e,i=0;function o(t){let e=this.chart;t=this.normalize(t),e.options.mapNavigation.enableDoubleClickZoomTo?e.pointer.inClass(t.target,"highcharts-tracker")&&e.hoverPoint&&e.hoverPoint.zoomTo():e.isInsidePlot(t.chartX-e.plotLeft,t.chartY-e.plotTop)&&e.mapZoom(.5,void 0,void 0,t.chartX,t.chartY)}function s(t){let o=this.chart,s=m((t=this.normalize(t)).wheelDelta)&&-t.wheelDelta/120||t.deltaY||t.detail;Math.abs(s)>=1&&(i+=Math.abs(s),e&&clearTimeout(e),e=setTimeout(()=>{i=0},50)),i<10&&o.isInsidePlot(t.chartX-o.plotLeft,t.chartY-o.plotTop)&&o.mapView&&o.mapView.zoomBy(-((o.options.mapNavigation.mouseWheelSensitivity-1)*s),void 0,[t.chartX,t.chartY],!(1>Math.abs(s))&&void 0)}function r(t,e,i){let o=this.chart;if(e=t.call(this,e,i),o&&o.mapView){let t=o.mapView.pixelsToLonLat({x:e.chartX-o.plotLeft,y:e.chartY-o.plotTop});t&&g(e,t)}return e}function a(t){let e=this.chart.options.mapNavigation;e&&b(e.enableTouchZoom,e.enabled)&&(this.chart.zooming.pinchType="xy"),t.apply(this,[].slice.call(arguments,1))}t.compose=function(t){let e=t.prototype;e.onContainerDblClick||(g(e,{onContainerDblClick:o,onContainerMouseWheel:s}),f(e,"normalize",r),f(e,"zoomOption",a))}}(r||(r={}));let y=r;function x(e,i,o,s,r){if(r){let t=r?.r||0;r.brBoxY=i-t,r.brBoxHeight=s+t}return t.roundedRect(e,i,o,s,r)}function M(e,i,o,s,r){if(r){let t=r?.r||0;r.brBoxHeight=s+t}return t.roundedRect(e,i,o,s,r)}let v=function(e){(t=e.prototype.symbols).bottombutton=x,t.topbutton=M},{setOptions:w}=c(),{composed:T}=c(),{addEvent:P,extend:j,merge:L,objectEach:C,pick:A,pushUnique:k}=c();function z(t){t&&(t.preventDefault?.(),t.stopPropagation?.(),t.cancelBubble=!0)}class B{static compose(t,e,i){y.compose(e),v(i),k(T,"Map.Navigation")&&(P(t,"beforeRender",function(){this.mapNavigation=new B(this),this.mapNavigation.update()}),w(u))}constructor(t){this.chart=t,this.navButtons=[]}update(t){let e=this,i=e.chart,o=e.navButtons,s=function(t){this.handler.call(i,t),z(t)},r=i.options.mapNavigation;for(t&&(r=i.options.mapNavigation=L(i.options.mapNavigation,t));o.length;)o.pop()?.destroy();if(!i.renderer.forExport&&A(r.enableButtons,r.enabled)){e.navButtonsGroup||(e.navButtonsGroup=i.renderer.g().attr({zIndex:7}).add()),C(r.buttons,(t,a)=>{let n={padding:(t=L(r.buttonOptions,t)).padding};!i.styledMode&&t.theme&&(j(n,t.theme),n.style=L(t.theme.style,t.style));let{text:l,width:h=0,height:p=0,padding:d=0}=t,c=i.renderer.button("+"!==l&&"-"!==l&&l||"",0,0,s,n,void 0,void 0,void 0,"zoomIn"===a?"topbutton":"bottombutton").addClass("highcharts-map-navigation highcharts-"+({zoomIn:"zoom-in",zoomOut:"zoom-out"})[a]).attr({width:h,height:p,title:i.options.lang[a],zIndex:5}).add(e.navButtonsGroup);if("+"===l||"-"===l){let e=h+1,o=[["M",d+3,d+p/2],["L",d+e-3,d+p/2]];"+"===l&&o.push(["M",d+e/2,d+3],["L",d+e/2,d+p-3]),i.renderer.path(o).addClass("highcharts-button-symbol").attr(i.styledMode?{}:{stroke:t.style?.color,"stroke-width":3,"stroke-linecap":"round"}).add(c)}if(c.handler=t.onclick,P(c.element,"dblclick",z),o.push(c),j(t,{width:c.width,height:2*(c.height||0)}),i.hasLoaded)c.align(t,!1,t.alignTo);else{let e=P(i,"load",()=>{c.element&&c.align(t,!1,t.alignTo),e()})}});let t=(t,e)=>!(e.x>=t.x+t.width||e.x+e.width<=t.x||e.y>=t.y+t.height||e.y+e.height<=t.y);i.hasLoaded||P(i,"render",function(){let o=i.exporting?.group?.getBBox();if(o){let i=e.navButtonsGroup.getBBox();if(t(o,i)){let t=-i.y-i.height+o.y-5,s=o.y+o.height-i.y+5,a=r.buttonOptions&&r.buttonOptions.verticalAlign;e.navButtonsGroup.attr({translateY:"bottom"===a?t:s})}}})}this.updateEvents(r)}updateEvents(t){let e=this.chart;A(t.enableDoubleClickZoom,t.enabled)||t.enableDoubleClickZoomTo?this.unbindDblClick=this.unbindDblClick||P(e.container,"dblclick",function(t){e.pointer.onContainerDblClick(t)}):this.unbindDblClick&&(this.unbindDblClick=this.unbindDblClick()),A(t.enableMouseWheelZoom,t.enabled)?this.unbindMouseWheel=this.unbindMouseWheel||P(e.container,"wheel",function(t){if(!e.pointer.inClass(t.target,"highcharts-no-mousewheel")){let i=e.mapView?.zoom;e.pointer.onContainerMouseWheel(t),i!==e.mapView?.zoom&&z(t)}return!1}):this.unbindMouseWheel&&(this.unbindMouseWheel=this.unbindMouseWheel())}}let S=e.default.SeriesRegistry;var E=p.n(S);let O=e.default.SVGElement;var D=p.n(O);let{column:{prototype:V}}=E().seriesTypes,{addEvent:I,defined:N}=c();var X=a||(a={});function G(t){let e=this.series,i=e.chart.renderer;this.moveToTopOnHover&&this.graphic&&(e.stateMarkerGraphic||(e.stateMarkerGraphic=new(D())(i,"use").css({pointerEvents:"none"}).add(this.graphic.parentGroup)),t?.state==="hover"?(this.graphic.attr({id:this.id}),e.stateMarkerGraphic.attr({href:`${i.url}#${this.id}`,visibility:"visible"})):e.stateMarkerGraphic.attr({href:""}))}X.pointMembers={dataLabelOnNull:!0,moveToTopOnHover:!0,isValid:function(){return null!==this.value&&this.value!==1/0&&this.value!==-1/0&&(void 0===this.value||!isNaN(this.value))}},X.seriesMembers={colorKey:"value",axisTypes:["xAxis","yAxis","colorAxis"],parallelArrays:["x","y","value"],pointArrayMap:["value"],trackerGroups:["group","markerGroup","dataLabelsGroup"],colorAttribs:function(t){let e={};return N(t.color)&&(!t.state||"normal"===t.state)&&(e[this.colorProp||"fill"]=t.color),e},pointAttribs:V.pointAttribs},X.compose=function(t){return I(t.prototype.pointClass,"afterSetState",G),t};let R=a,Y=e.default.Series;var F=p.n(Y);let{deg2rad:U}=c(),{fireEvent:Z,isNumber:W,pick:H,relativeLength:_}=c();(i=n||(n={})).getCenter=function(){let t=this.options,e=this.chart,i=2*(t.slicedOffset||0),o=e.plotWidth-2*i,s=e.plotHeight-2*i,r=t.center,a=Math.min(o,s),n=t.thickness,l,h=t.size,p=t.innerSize||0,d,c;"string"==typeof h&&(h=parseFloat(h)),"string"==typeof p&&(p=parseFloat(p));let u=[H(r?.[0],"50%"),H(r?.[1],"50%"),H(h&&h<0?void 0:t.size,"100%"),H(p&&p<0?void 0:t.innerSize||0,"0%")];for(!e.angular||this instanceof F()||(u[3]=0),d=0;d<4;++d)c=u[d],l=d<2||2===d&&/%$/.test(c),u[d]=_(c,[o,s,a,u[2]][d])+(l?i:0);return u[3]>u[2]&&(u[3]=u[2]),W(n)&&2*n<u[2]&&n>0&&(u[3]=u[2]-2*n),Z(this,"afterGetCenter",{positions:u}),u},i.getStartAndEndRadians=function(t,e){let i=W(t)?t:0,o=W(e)&&e>i&&e-i<360?e:i+360;return{start:U*(i+-90),end:U*(o+-90)}};let q=n,$=e.default.Chart;var K=p.n($);let J=e.default.SVGRenderer;var Q=p.n(J);let{getOptions:tt}=c(),{isNumber:te,merge:ti,pick:to}=c();class ts extends K(){init(t,e){let i=tt().credits,o=ti({chart:{panning:{enabled:!0,type:"xy"},type:"map"},credits:{mapText:to(i.mapText,' \xa9 <a href="{geojson.copyrightUrl}">{geojson.copyrightShort}</a>'),mapTextFull:to(i.mapTextFull,"{geojson.copyright}")},mapView:{},tooltip:{followTouchMove:!1}},t);super.init(o,e)}mapZoom(t,e,i,o,s){this.mapView&&(te(t)&&(t=Math.log(t)/Math.log(.5)),this.mapView.zoomBy(t,te(e)&&te(i)?this.mapView.projection.inverse([e,i]):void 0,te(o)&&te(s)?[o,s]:void 0))}update(t){t.chart&&"map"in t.chart&&this.mapView?.recommendMapView(this,[t.chart.map,...(this.options.series||[]).map(t=>t.mapData)],!0),super.update.apply(this,arguments)}}(o=ts||(ts={})).maps={},o.mapChart=function(t,e,i){return new o(t,e,i)},o.splitPath=function(t){let e;return e="string"==typeof t?(t=t.replace(/([A-Z])/gi," $1 ").replace(/^\s*/,"").replace(/\s*$/,"")).split(/[ ,;]+/).map(t=>/[A-Z]/i.test(t)?t:parseFloat(t)):t,Q().prototype.pathToSegments(e)};let tr=ts,ta={boundsFromPath:function(t){let e=-Number.MAX_VALUE,i=Number.MAX_VALUE,o=-Number.MAX_VALUE,s=Number.MAX_VALUE,r;if(t.forEach(t=>{let a=t[t.length-2],n=t[t.length-1];"number"==typeof a&&"number"==typeof n&&(i=Math.min(i,a),e=Math.max(e,a),s=Math.min(s,n),o=Math.max(o,n),r=!0)}),r)return{x1:i,y1:s,x2:e,y2:o}}},{boundsFromPath:tn}=ta,tl=E().seriesTypes.scatter.prototype.pointClass,{extend:th,isNumber:tp,pick:td}=c();class tc extends tl{static getProjectedPath(t,e){return t.projectedPath||(e&&t.geometry?(e.hasCoordinates=!0,t.projectedPath=e.path(t.geometry)):t.projectedPath=t.path),t.projectedPath||[]}applyOptions(t,e){let i=this.series,o=super.applyOptions(t,e),s=i.joinBy;if(i.mapData&&i.mapMap){let t=s[1],e=super.getNestedProperty(t),r=void 0!==e&&i.mapMap[e];r?th(o,{...r,name:o.name??r.name}):-1!==i.pointArrayMap.indexOf("value")&&(o.value=o.value||null)}return o}getProjectedBounds(t){let e=tn(tc.getProjectedPath(this,t)),i=this.properties,o=this.series.chart.mapView;if(e){let s=i?.["hc-middle-lon"],r=i?.["hc-middle-lat"];if(o&&tp(s)&&tp(r)){let i=t.forward([s,r]);e.midX=i[0],e.midY=i[1]}else{let t=i?.["hc-middle-x"],o=i?.["hc-middle-y"];e.midX=e.x1+(e.x2-e.x1)*td(this.middleX,tp(t)?t:.5);let s=td(this.middleY,tp(o)?o:.5);this.geometry||(s=1-s),e.midY=e.y2-(e.y2-e.y1)*s}return e}}onMouseOver(t){c().clearTimeout(this.colorInterval),!this.isNull&&this.visible||this.series.options.nullInteraction?super.onMouseOver.call(this,t):this.series.onMouseOut()}setVisible(t){this.visible=this.options.visible=!!t,this.dataLabel&&this.dataLabel[t?"show":"hide"](),this.graphic&&this.graphic.attr(this.series.pointAttribs(this))}zoomTo(t){let e=this.series.chart,i=e.mapView,o=this.bounds;if(i&&o){let s=tp(this.insetIndex)&&i.insets[this.insetIndex];if(s){let t=s.projectedUnitsToPixels({x:o.x1,y:o.y1}),e=s.projectedUnitsToPixels({x:o.x2,y:o.y2}),r=i.pixelsToProjectedUnits({x:t.x,y:t.y}),a=i.pixelsToProjectedUnits({x:e.x,y:e.y});o={x1:r.x,y1:r.y,x2:a.x,y2:a.y}}i.fitToBounds(o,void 0,!1),this.series.isDirty=!0,e.redraw(t)}}}th(tc.prototype,{dataLabelOnNull:R.pointMembers.dataLabelOnNull,moveToTopOnHover:R.pointMembers.moveToTopOnHover,isValid:R.pointMembers.isValid});let{isNumber:tu}=c(),tm={center:[0,0],fitToGeometry:void 0,maxZoom:void 0,padding:0,projection:{name:void 0,parallels:void 0,rotation:void 0},zoom:void 0,insetOptions:{borderColor:"#cccccc",borderWidth:1,padding:"10%",relativeTo:"mapBoundingBox",units:"percent"}},tg=e.default.Templating;var tb=p.n(tg);let{win:tf}=c(),{format:ty}=tb(),{error:tx,extend:tM,merge:tv,wrap:tw}=c();!function(t){function e(t){return this.mapView&&this.mapView.lonLatToProjectedUnits(t)}function i(t){return this.mapView&&this.mapView.projectedUnitsToLonLat(t)}function o(t,e){let i=this.options.chart.proj4||tf.proj4;if(!i)return void tx(21,!1,this);let{jsonmarginX:o=0,jsonmarginY:s=0,jsonres:r=1,scale:a=1,xoffset:n=0,xpan:l=0,yoffset:h=0,ypan:p=0}=e,d=i(e.crs,[t.lon,t.lat]),c=e.cosAngle||e.rotation&&Math.cos(e.rotation),u=e.sinAngle||e.rotation&&Math.sin(e.rotation),m=e.rotation?[d[0]*c+d[1]*u,-d[0]*u+d[1]*c]:d;return{x:((m[0]-n)*a+l)*r+o,y:-(((h-m[1])*a+p)*r-s)}}function s(t,e){let i=this.options.chart.proj4||tf.proj4;if(!i)return void tx(21,!1,this);if(null===t.y)return;let{jsonmarginX:o=0,jsonmarginY:s=0,jsonres:r=1,scale:a=1,xoffset:n=0,xpan:l=0,yoffset:h=0,ypan:p=0}=e,d={x:((t.x-o)/r-l)/a+n,y:((t.y-s)/r+p)/a+h},c=e.cosAngle||e.rotation&&Math.cos(e.rotation),u=e.sinAngle||e.rotation&&Math.sin(e.rotation),m=i(e.crs,"WGS84",e.rotation?{x:d.x*c+-(d.y*u),y:d.x*u+d.y*c}:d);return{lat:m.y,lon:m.x}}function r(t,e){e||(e=Object.keys(t.objects)[0]);let i=t.objects[e];if(i["hc-decoded-geojson"]&&i["hc-decoded-geojson"].title===t.title)return i["hc-decoded-geojson"];let o=t.arcs;if(t.transform){let e,i,s,r=t.arcs,{scale:a,translate:n}=t.transform;o=[];for(let t=0,l=r.length;t<l;++t){let l=r[t];o.push(e=[]),i=0,s=0;for(let t=0,o=l.length;t<o;++t)e.push([(i+=l[t][0])*a[0]+n[0],(s+=l[t][1])*a[1]+n[1]])}}let s=t=>"number"==typeof t[0]?t.reduce((t,e,i)=>{let s=e<0?o[~e]:o[e];return e<0?(s=s.slice(0,0===i?s.length:s.length-1)).reverse():i&&(s=s.slice(1)),t.concat(s)},[]):t.map(s),r=i.geometries,a=[];for(let t=0,e=r.length;t<e;++t)a.push({type:"Feature",properties:r[t].properties,geometry:{type:r[t].type,coordinates:r[t].coordinates||s(r[t].arcs)}});let n={type:"FeatureCollection",copyright:t.copyright,copyrightShort:t.copyrightShort,copyrightUrl:t.copyrightUrl,features:a,"hc-recommended-mapview":i["hc-recommended-mapview"],bbox:t.bbox,title:t.title};return i["hc-decoded-geojson"]=n,n}function a(t,e){e=tv(!0,this.options.credits,e),t.call(this,e),this.credits&&this.mapCreditsFull&&this.credits.attr({title:this.mapCreditsFull})}t.compose=function(t){let r=t.prototype;r.transformFromLatLon||(r.fromLatLonToPoint=e,r.fromPointToLatLon=i,r.transformFromLatLon=o,r.transformToLatLon=s,tw(r,"addCredits",a))},t.geojson=function(t,e="map",i){let o=[],s="Topology"===t.type?r(t):t,a=s.features;for(let t=0,i=a.length;t<i;++t){let i,s=a[t],r=s.geometry||{},n=r.type,l=r.coordinates,h=s.properties;if(("map"===e||"mapbubble"===e)&&("Polygon"===n||"MultiPolygon"===n)||"mapline"===e&&("LineString"===n||"MultiLineString"===n)?l.length&&(i={geometry:{coordinates:l,type:n}}):"mappoint"===e&&"Point"===n&&l.length&&(i={geometry:{coordinates:l,type:n}}),i){let t=h&&(h.name||h.NAME),e=h&&h.lon,s=h&&h.lat;o.push(tM(i,{lat:"number"==typeof s?s:void 0,lon:"number"==typeof e?e:void 0,name:"string"==typeof t?t:void 0,properties:h}))}}return i&&s.copyrightShort&&(i.chart.mapCredits=ty(i.chart.options.credits?.mapText,{geojson:s}),i.chart.mapCreditsFull=ty(i.chart.options.credits?.mapTextFull,{geojson:s})),o},t.topo2geo=r}(l||(l={}));let tT=l;(s=h||(h={})).getCenterOfPoints=function(t){let e=t.reduce((t,e)=>(t.x+=e.x,t.y+=e.y,t),{x:0,y:0});return{x:e.x/t.length,y:e.y/t.length}},s.getDistanceBetweenPoints=function(t,e){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))},s.getAngleBetweenPoints=function(t,e){return Math.atan2(e.x-t.x,e.y-t.y)},s.pointInPolygon=function({x:t,y:e},i){let o=i.length,s,r,a=!1;for(s=0,r=o-1;s<o;r=s++){let[o,n]=i[s],[l,h]=i[r];n>e!=h>e&&t<(l-o)*(e-n)/(h-n)+o&&(a=!a)}return a};let tP=h;function tj(t,e,i=!0){let o=e[e.length-1],s,r,a,n=t;for(let t=0;t<e.length;t++){let l=n;s=e[t],n=[],r=i?l[l.length-1]:l[0];for(let t=0;t<l.length;t++)tL(o,s,a=l[t])?(tL(o,s,r)||n.push(tC(o,s,r,a)),n.push(a)):tL(o,s,r)&&n.push(tC(o,s,r,a)),r=a;o=s}return n}function tL(t,e,i){return(e[0]-t[0])*(i[1]-t[1])>(e[1]-t[1])*(i[0]-t[0])}function tC(t,e,i,o){let s=[t[0]-e[0],t[1]-e[1]],r=[i[0]-o[0],i[1]-o[1]],a=t[0]*e[1]-t[1]*e[0],n=i[0]*o[1]-i[1]*o[0],l=1/(s[0]*r[1]-s[1]*r[0]),h=[(a*r[0]-n*s[0])*l,(a*r[1]-n*s[1])*l];return h.isIntersection=!0,h}let tA=Math.sign||(t=>0===t?0:t>0?1:-1),tk=Math.PI/180,tz=Math.PI/2,tB=t=>Math.tan((tz+t)/2),tS=class{constructor(t){let e=(t.parallels||[]).map(t=>t*tk),i=e[0]||0,o=e[1]??i,s=Math.cos(i);"object"==typeof t.projectedBounds&&(this.projectedBounds=t.projectedBounds);let r=i===o?Math.sin(i):Math.log(s/Math.cos(o))/Math.log(tB(o)/tB(i));1e-10>Math.abs(r)&&(r=1e-10*(tA(r)||1)),this.n=r,this.c=s*Math.pow(tB(i),r)/r}forward(t){let{c:e,n:i,projectedBounds:o}=this,s=t[0]*tk,r=t[1]*tk;e>0?r<-tz+1e-6&&(r=-tz+1e-6):r>tz-1e-6&&(r=tz-1e-6);let a=e/Math.pow(tB(r),i),n=a*Math.sin(i*s)*63.78137,l=(e-a*Math.cos(i*s))*63.78137,h=[n,l];return o&&(n<o.x1||n>o.x2||l<o.y1||l>o.y2)&&(h.outside=!0),h}inverse(t){let{c:e,n:i}=this,o=t[0]/63.78137,s=e-t[1]/63.78137,r=tA(i)*Math.sqrt(o*o+s*s),a=Math.atan2(o,Math.abs(s))*tA(s);return s*i<0&&(a-=Math.PI*tA(o)*tA(s)),[a/i/tk,(2*Math.atan(Math.pow(e/r,1/i))-tz)/tk]}},tE=Math.sqrt(3)/2,tO=class{constructor(){this.bounds={x1:-200.37508342789243,x2:200.37508342789243,y1:-97.52595454902263,y2:97.52595454902263}}forward(t){let e=Math.PI/180,i=Math.asin(tE*Math.sin(t[1]*e)),o=i*i,s=o*o*o;return[t[0]*e*Math.cos(i)*74.03120656864502/(tE*(1.340264+-.24331799999999998*o+s*(.0062510000000000005+.034164*o))),74.03120656864502*i*(1.340264+-.081106*o+s*(893e-6+.003796*o))]}inverse(t){let e=t[0]/74.03120656864502,i=t[1]/74.03120656864502,o=180/Math.PI,s=i,r,a,n,l;for(let t=0;t<12&&(a=(r=s*s)*r*r,n=s*(1.340264+-.081106*r+a*(893e-6+.003796*r))-i,s-=l=n/(1.340264+-.24331799999999998*r+a*(.0062510000000000005+.034164*r)),!(1e-9>Math.abs(l)));++t);a=(r=s*s)*r*r;let h=o*tE*e*(1.340264+-.24331799999999998*r+a*(.0062510000000000005+.034164*r))/Math.cos(s),p=o*Math.asin(Math.sin(s)/tE);return Math.abs(h)>180?[NaN,NaN]:[h,p]}},tD=Math.PI/4,tV=Math.PI/180,tI=class{constructor(){this.bounds={x1:-200.37508342789243,x2:200.37508342789243,y1:-146.91480769173063,y2:146.91480769173063}}forward(t){return[t[0]*tV*63.78137,79.7267125*Math.log(Math.tan(tD+.4*t[1]*tV))]}inverse(t){return[t[0]/63.78137/tV,2.5*(Math.atan(Math.exp(.8*(t[1]/63.78137)))-tD)/tV]}},tN=Math.PI/180,tX=class{constructor(){this.antimeridianCutting=!1,this.bounds={x1:-63.78460826781007,x2:63.78460826781007,y1:-63.78460826781007,y2:63.78460826781007}}forward(t){let e=t[0],i=t[1]*tN,o=[Math.cos(i)*Math.sin(e*tN)*63.78460826781007,63.78460826781007*Math.sin(i)];return(e<-90||e>90)&&(o.outside=!0),o}inverse(t){let e=t[0]/63.78460826781007,i=t[1]/63.78460826781007,o=Math.sqrt(e*e+i*i),s=Math.asin(o),r=Math.sin(s);return[Math.atan2(e*r,o*Math.cos(s))/tN,Math.asin(o&&i*r/o)/tN]}},tG=Math.PI/180,tR=class{constructor(){this.bounds={x1:-200.37508342789243,x2:200.37508342789243,y1:-200.3750834278071,y2:200.3750834278071},this.maxLatitude=85.0511287798}forward(t){let e=Math.sin(t[1]*tG),i=[63.78137*t[0]*tG,63.78137*Math.log((1+e)/(1-e))/2];return Math.abs(t[1])>this.maxLatitude&&(i.outside=!0),i}inverse(t){return[t[0]/(63.78137*tG),(2*Math.atan(Math.exp(t[1]/63.78137))-Math.PI/2)/tG]}},{clipLineString:tY,clipPolygon:tF}={clipLineString:function(t,e){let i=[],o=tj(t,e,!1);for(let t=1;t<o.length;t++)o[t].isIntersection&&o[t-1].isIntersection&&(i.push(o.splice(0,t)),t=0),t===o.length-1&&i.push(o);return i},clipPolygon:tj},{clamp:tU,erase:tZ}=c(),tW=2*Math.PI/360,tH=t=>(t<-180&&(t+=360),t>180&&(t-=360),t),t_=t=>(1-Math.cos(t))/2,tq=(t,e)=>{let i=Math.cos,o=t[1]*tW,s=t[0]*tW,r=e[1]*tW,a=e[0]*tW;return t_(r-o)+i(o)*i(r)*t_(a-s)};class t${static add(t,e){t$.registry[t]=e}static distance(t,e){let{atan2:i,sqrt:o}=Math,s=tq(t,e);return 6371e3*(2*i(o(s),o(1-s)))}static geodesic(t,e,i,o=5e5){let{atan2:s,cos:r,sin:a,sqrt:n}=Math,l=t$.distance,h=t[1]*tW,p=t[0]*tW,d=e[1]*tW,c=e[0]*tW,u=r(h)*r(p),m=r(d)*r(c),g=r(h)*a(p),b=r(d)*a(c),f=a(h),y=a(d),x=l(t,e),M=x/6371e3,v=a(M),w=Math.round(x/o),T=[];if(i&&T.push(t),w>1){let t=1/w;for(let e=t;e<.999;e+=t){let t=a((1-e)*M)/v,i=a(e*M)/v,o=t*u+i*m,r=t*g+i*b,l=s(t*f+i*y,n(o*o+r*r)),h=s(r,o);T.push([h/tW,l/tW])}}return i&&T.push(e),T}static insertGeodesics(t){let e=t.length-1;for(;e--;)if(Math.max(Math.abs(t[e][0]-t[e+1][0]),Math.abs(t[e][1]-t[e+1][1]))>10){let i=t$.geodesic(t[e],t[e+1]);i.length&&t.splice(e+1,0,...i)}}static toString(t){let{name:e,rotation:i}=t||{};return[e,i&&i.join(",")].join(";")}constructor(t={}){this.hasCoordinates=!1,this.hasGeoProjection=!1,this.maxLatitude=90,this.options=t;let{name:e,projectedBounds:i,rotation:o}=t;this.rotator=o?this.getRotator(o):void 0;let s=e?t$.registry[e]:void 0;s&&(this.def=new s(t));let{def:r,rotator:a}=this;r&&(this.maxLatitude=r.maxLatitude||90,this.hasGeoProjection=!0),a&&r?(this.forward=t=>r.forward(a.forward(t)),this.inverse=t=>a.inverse(r.inverse(t))):r?(this.forward=t=>r.forward(t),this.inverse=t=>r.inverse(t)):a&&(this.forward=a.forward,this.inverse=a.inverse),this.bounds="world"===i?r&&r.bounds:i}lineIntersectsBounds(t){let{x1:e,x2:i,y1:o,y2:s}=this.bounds||{},r=(t,e,i)=>{let[o,s]=t,r=+!e;if("number"==typeof i&&o[e]>=i!=s[e]>=i){let t=(i-o[e])/(s[e]-o[e]),a=o[r]+t*(s[r]-o[r]);return e?[a,i]:[i,a]}},a,n=t[0];return(a=r(t,0,e))?(n=a,t[1]=a):(a=r(t,0,i))&&(n=a,t[1]=a),(a=r(t,1,o))?n=a:(a=r(t,1,s))&&(n=a),n}getRotator(t){let e=t[0]*tW,i=(t[1]||0)*tW,o=(t[2]||0)*tW,s=Math.cos(i),r=Math.sin(i),a=Math.cos(o),n=Math.sin(o);if(0!==e||0!==i||0!==o)return{forward:t=>{let i=t[0]*tW+e,o=t[1]*tW,l=Math.cos(o),h=Math.cos(i)*l,p=Math.sin(i)*l,d=Math.sin(o),c=d*s+h*r;return[Math.atan2(p*a-c*n,h*s-d*r)/tW,Math.asin(c*a+p*n)/tW]},inverse:t=>{let i=t[0]*tW,o=t[1]*tW,l=Math.cos(o),h=Math.cos(i)*l,p=Math.sin(i)*l,d=Math.sin(o),c=d*a-p*n;return[(Math.atan2(p*a+d*n,h*s+c*r)-e)/tW,Math.asin(c*s-h*r)/tW]}}}forward(t){return t}inverse(t){return t}cutOnAntimeridian(t,e){let i,o=[],s=[t];for(let i=0,s=t.length;i<s;++i){let s=t[i],r=t[i-1];if(!i){if(!e)continue;r=t[t.length-1]}let a=r[0],n=s[0];if((a<-90||a>90)&&(n<-90||n>90)&&a>0!=n>0){let t=tU((180-(a+360)%360)/((n+360)%360-(a+360)%360),0,1),e=r[1]+t*(s[1]-r[1]);o.push({i,lat:e,direction:a<0?1:-1,previousLonLat:r,lonLat:s})}}if(o.length)if(e){o.length%2==1&&(i=o.slice().sort((t,e)=>Math.abs(e.lat)-Math.abs(t.lat))[0],tZ(o,i));let e=o.length-2;for(;e>=0;){let i=o[e].i,r=tH(180+1e-6*o[e].direction),a=tH(180-1e-6*o[e].direction),n=t.splice(i,o[e+1].i-i,...t$.geodesic([r,o[e].lat],[r,o[e+1].lat],!0));n.push(...t$.geodesic([a,o[e+1].lat],[a,o[e].lat],!0)),s.push(n),e-=2}if(i)for(let t=0;t<s.length;t++){let{direction:e,lat:o}=i,r=s[t],a=r.indexOf(i.lonLat);if(a>-1){let t=(o<0?-1:1)*this.maxLatitude,s=tH(180+1e-6*e),n=tH(180-1e-6*e),l=t$.geodesic([s,o],[s,t],!0);for(let i=s+120*e;i>-180&&i<180;i+=120*e)l.push([i,t]);l.push(...t$.geodesic([n,t],[n,i.lat],!0)),r.splice(a,0,...l);break}}}else{let e=o.length;for(;e--;){let i=o[e].i,r=t.splice(i,t.length,[tH(180+1e-6*o[e].direction),o[e].lat]);r.unshift([tH(180-1e-6*o[e].direction),o[e].lat]),s.push(r)}}return s}path(t){let e,{bounds:i,def:o,rotator:s}=this,r=[],a="Polygon"===t.type||"MultiPolygon"===t.type,n=this.hasGeoProjection,l=!o||!1!==o.antimeridianCutting,h=l?s:void 0,p=l&&o||this;i&&(e=[[i.x1,i.y1],[i.x2,i.y1],[i.x2,i.y2],[i.x1,i.y2]]);let d=t=>{let o=t.map(t=>{if(l){h&&(t=h.forward(t));let e=t[0];1e-6>Math.abs(e-180)&&(e=e<180?179.999999:180.000001),t=[e,t[1]]}return t}),s=[o];n&&(t$.insertGeodesics(o),l&&(s=this.cutOnAntimeridian(o,a))),s.forEach(t=>{let o,s;if(t.length<2)return;let h=!1,d=!1,c=t=>{h?r.push(["L",t[0],t[1]]):(r.push(["M",t[0],t[1]]),h=!0)},u=!1,m=!1,g=t.map(t=>{let e=p.forward(t);return e.outside?u=!0:m=!0,e[1]===1/0?e[1]=1e10:e[1]===-1/0&&(e[1]=-1e10),e});if(l){if(a&&g.push(g[0]),u){if(!m)return;if(e){if(a)g=tF(g,e);else if(i)return void tY(g,e).forEach(t=>{h=!1,t.forEach(c)})}}g.forEach(c)}else for(let e=0;e<g.length;e++){let i=t[e],r=g[e];r.outside?d=!0:(a&&!o&&(o=i,t.push(i),g.push(r)),d&&s&&(a&&n?t$.geodesic(s,i).forEach(t=>c(p.forward(t))):h=!1),c(r),s=i,d=!1)}})};return"LineString"===t.type?d(t.coordinates):"MultiLineString"===t.type?t.coordinates.forEach(t=>d(t)):"Polygon"===t.type?(t.coordinates.forEach(t=>d(t)),r.length&&r.push(["Z"])):"MultiPolygon"===t.type&&(t.coordinates.forEach(t=>{t.forEach(t=>d(t))}),r.length&&r.push(["Z"])),r}}t$.registry={EqualEarth:tO,LambertConformalConic:tS,Miller:tI,Orthographic:tX,WebMercator:tR};let{composed:tK}=c(),{pointInPolygon:tJ}=tP,{topo2geo:tQ}=tT,{boundsFromPath:t0}=ta,{addEvent:t1,clamp:t2,crisp:t6,fireEvent:t3,isArray:t8,isNumber:t7,isObject:t9,isString:t4,merge:t5,pick:et,pushUnique:ee,relativeLength:ei}=c(),eo={};function es(t,e){let{width:i,height:o}=e;return Math.log(400.979322/Math.max((t.x2-t.x1)/(i/256),(t.y2-t.y1)/(o/256)))/Math.log(2)}function er(t){t.seriesOptions.mapData&&this.mapView?.recommendMapView(this,[this.options.chart.map,t.seriesOptions.mapData],this.options.drilldown?.mapZooming)}class ea{static compose(t){ee(tK,"MapView")&&(eo=t.maps,t1(t,"afterInit",function(){this.mapView=new ea(this,this.options.mapView)},{order:0}),t1(t,"addSeriesAsDrilldown",er),t1(t,"afterDrillUp",er))}static compositeBounds(t){if(t.length)return t.slice(1).reduce((t,e)=>(t.x1=Math.min(t.x1,e.x1),t.y1=Math.min(t.y1,e.y1),t.x2=Math.max(t.x2,e.x2),t.y2=Math.max(t.y2,e.y2),t),t5(t[0]))}static mergeInsets(t,e){let i=t=>{let e={};return t.forEach((t,i)=>{e[t&&t.id||`i${i}`]=t}),e},o=t5(i(t),i(e));return Object.keys(o).map(t=>o[t])}constructor(t,e){this.allowTransformAnimation=!0,this.eventsToUnbind=[],this.insets=[],this.padding=[0,0,0,0],this.recommendedMapView={},this instanceof en||this.recommendMapView(t,[t.options.chart.map,...(t.options.series||[]).map(t=>t.mapData)]),this.userOptions=e||{};let i=t5(tm,this.recommendedMapView,e),o=this.recommendedMapView?.insets,s=e&&e.insets;o&&s&&(i.insets=ea.mergeInsets(o,s)),this.chart=t,this.center=i.center,this.options=i,this.projection=new t$(i.projection),this.playingField=t.plotBox,this.zoom=i.zoom||0,this.minZoom=i.minZoom,this.createInsets(),this.eventsToUnbind.push(t1(t,"afterSetChartSize",()=>{this.playingField=this.getField(),(void 0===this.minZoom||this.minZoom===this.zoom)&&(this.fitToBounds(void 0,void 0,!1),!this.chart.hasRendered&&t7(this.userOptions.zoom)&&(this.zoom=this.userOptions.zoom),this.userOptions.center&&t5(!0,this.center,this.userOptions.center))})),this.setUpEvents()}createInsets(){let t=this.options,e=t.insets;e&&e.forEach(e=>{let i=new en(this,t5(t.insetOptions,e));this.insets.push(i)})}fitToBounds(t,e,i=!0,o){let s=t||this.getProjectedBounds();if(s){let r=et(e,t?0:this.options.padding),a=this.getField(!1),n=t8(r)?r:[r,r,r,r];this.padding=[ei(n[0],a.height),ei(n[1],a.width),ei(n[2],a.height),ei(n[3],a.width)],this.playingField=this.getField();let l=es(s,this.playingField);t||(this.minZoom=l);let h=this.projection.inverse([(s.x2+s.x1)/2,(s.y2+s.y1)/2]);this.setView(h,l,i,o)}}getField(t=!0){let e=t?this.padding:[0,0,0,0];return{x:e[3],y:e[0],width:this.chart.plotWidth-e[1]-e[3],height:this.chart.plotHeight-e[0]-e[2]}}getGeoMap(t){if(t4(t))return eo[t]&&"Topology"===eo[t].type?tQ(eo[t]):eo[t];if(t9(t,!0)){if("FeatureCollection"===t.type)return t;if("Topology"===t.type)return tQ(t)}}getMapBBox(){let t=this.getProjectedBounds(),e=this.getScale();if(t){let i=this.padding,o=this.projectedUnitsToPixels({x:t.x1,y:t.y2});return{width:(t.x2-t.x1)*e+i[1]+i[3],height:(t.y2-t.y1)*e+i[0]+i[2],x:o.x-i[3],y:o.y-i[0]}}}getProjectedBounds(){let t=this.projection,e=this.chart.series.reduce((t,e)=>{let i=e.getProjectedBounds&&e.getProjectedBounds();return i&&!1!==e.options.affectsMapView&&t.push(i),t},[]),i=this.options.fitToGeometry;if(i){if(!this.fitToGeometryCache)if("MultiPoint"===i.type){let e=i.coordinates.map(e=>t.forward(e)),o=e.map(t=>t[0]),s=e.map(t=>t[1]);this.fitToGeometryCache={x1:Math.min.apply(0,o),x2:Math.max.apply(0,o),y1:Math.min.apply(0,s),y2:Math.max.apply(0,s)}}else this.fitToGeometryCache=t0(t.path(i));return this.fitToGeometryCache}return this.projection.bounds||ea.compositeBounds(e)}getScale(){return 256/400.979322*Math.pow(2,this.zoom)}getSVGTransform(){let{x:t,y:e,width:i,height:o}=this.playingField,s=this.projection.forward(this.center),r=this.projection.hasCoordinates?-1:1,a=this.getScale(),n=a*r,l=t+i/2-s[0]*a,h=e+o/2-s[1]*n;return{scaleX:a,scaleY:n,translateX:l,translateY:h}}lonLatToPixels(t){let e=this.lonLatToProjectedUnits(t);if(e)return this.projectedUnitsToPixels(e)}lonLatToProjectedUnits(t){let e=this.chart,i=e.mapTransforms;if(i){for(let o in i)if(Object.hasOwnProperty.call(i,o)&&i[o].hitZone){let s=e.transformFromLatLon(t,i[o]);if(s&&tJ(s,i[o].hitZone.coordinates[0]))return s}return e.transformFromLatLon(t,i.default)}for(let e of this.insets)if(e.options.geoBounds&&tJ({x:t.lon,y:t.lat},e.options.geoBounds.coordinates[0])){let i=e.projection.forward([t.lon,t.lat]),o=e.projectedUnitsToPixels({x:i[0],y:i[1]});return this.pixelsToProjectedUnits(o)}let o=this.projection.forward([t.lon,t.lat]);if(!o.outside)return{x:o[0],y:o[1]}}projectedUnitsToLonLat(t){let e=this.chart,i=e.mapTransforms;if(i){for(let o in i)if(Object.hasOwnProperty.call(i,o)&&i[o].hitZone&&tJ(t,i[o].hitZone.coordinates[0]))return e.transformToLatLon(t,i[o]);return e.transformToLatLon(t,i.default)}let o=this.projectedUnitsToPixels(t);for(let t of this.insets)if(t.hitZone&&tJ(o,t.hitZone.coordinates[0])){let e=t.pixelsToProjectedUnits(o),i=t.projection.inverse([e.x,e.y]);return{lon:i[0],lat:i[1]}}let s=this.projection.inverse([t.x,t.y]);return{lon:s[0],lat:s[1]}}recommendMapView(t,e,i=!1){this.recommendedMapView={};let o=e.map(t=>this.getGeoMap(t)),s=[];o.forEach(t=>{if(t&&(Object.keys(this.recommendedMapView).length||(this.recommendedMapView=t["hc-recommended-mapview"]||{}),t.bbox)){let[e,i,o,r]=t.bbox;s.push({x1:e,y1:i,x2:o,y2:r})}});let r=s.length&&ea.compositeBounds(s);t3(this,"onRecommendMapView",{geoBounds:r,chart:t},function(){if(r&&this.recommendedMapView){if(!this.recommendedMapView.projection){let{x1:t,y1:e,x2:i,y2:o}=r;this.recommendedMapView.projection=i-t>180&&o-e>90?{name:"EqualEarth",parallels:[0,0],rotation:[0]}:{name:"LambertConformalConic",parallels:[e,o],rotation:[-(t+i)/2]}}this.recommendedMapView.insets||(this.recommendedMapView.insets=void 0)}}),this.geoMap=o[0],i&&t.hasRendered&&!t.userOptions.mapView?.projection&&this.recommendedMapView&&this.update(this.recommendedMapView)}redraw(t){this.chart.series.forEach(t=>{t.useMapGeometry&&(t.isDirty=!0)}),this.chart.redraw(t)}setView(t,e,i=!0,o){t&&(this.center=t),"number"==typeof e&&("number"==typeof this.minZoom&&(e=Math.max(e,this.minZoom)),"number"==typeof this.options.maxZoom&&(e=Math.min(e,this.options.maxZoom)),t7(e)&&(this.zoom=e));let s=this.getProjectedBounds();if(s){let t=this.projection.forward(this.center),{x:e,y:i,width:o,height:r}=this.playingField,a=this.getScale(),n=this.projectedUnitsToPixels({x:s.x1,y:s.y1}),l=this.projectedUnitsToPixels({x:s.x2,y:s.y2}),h=[(s.x1+s.x2)/2,(s.y1+s.y2)/2];if(!this.chart.series.some(t=>t.isDrilling)){let s=n.x,p=l.y,d=l.x,c=n.y;d-s<o?t[0]=h[0]:s<e&&d<e+o?t[0]+=Math.max(s-e,d-o-e)/a:d>e+o&&s>e&&(t[0]+=Math.min(d-o-e,s-e)/a),c-p<r?t[1]=h[1]:p<i&&c<i+r?t[1]-=Math.max(p-i,c-r-i)/a:c>i+r&&p>i&&(t[1]-=Math.min(c-r-i,p-i)/a),this.center=this.projection.inverse(t)}this.insets.forEach(t=>{t.options.field&&(t.hitZone=t.getHitZone(),t.playingField=t.getField())}),this.render()}t3(this,"afterSetView"),i&&this.redraw(o)}projectedUnitsToPixels(t){let e=this.getScale(),i=this.projection.forward(this.center),o=this.playingField,s=o.x+o.width/2,r=o.y+o.height/2;return{x:s-e*(i[0]-t.x),y:r+e*(i[1]-t.y)}}pixelsToLonLat(t){return this.projectedUnitsToLonLat(this.pixelsToProjectedUnits(t))}pixelsToProjectedUnits(t){let{x:e,y:i}=t,o=this.getScale(),s=this.projection.forward(this.center),r=this.playingField,a=r.x+r.width/2,n=r.y+r.height/2;return{x:s[0]+(e-a)/o,y:s[1]-(i-n)/o}}setUpEvents(){let t,e,i,{chart:o}=this,s=s=>{let{lastTouches:r,pinchDown:a}=o.pointer,n=this.projection,l=s.touches,{mouseDownX:h,mouseDownY:p}=o,d=0;if(a?.length===1?(h=a[0].chartX,p=a[0].chartY):a?.length===2&&(h=(a[0].chartX+a[1].chartX)/2,p=(a[0].chartY+a[1].chartY)/2),l?.length===2&&r&&(d=Math.log(Math.sqrt(Math.pow(r[0].chartX-r[1].chartX,2)+Math.pow(r[0].chartY-r[1].chartY,2))/Math.sqrt(Math.pow(l[0].chartX-l[1].chartX,2)+Math.pow(l[0].chartY-l[1].chartY,2)))/Math.log(.5)),t7(h)&&t7(p)){let r=`${h},${p}`,{chartX:a,chartY:c}=s.originalEvent;l?.length===2&&(a=(l[0].chartX+l[1].chartX)/2,c=(l[0].chartY+l[1].chartY)/2),r!==e&&(e=r,t=this.projection.forward(this.center),i=(this.projection.options.rotation||[0,0]).slice());let u=n.def&&n.def.bounds,m=u&&es(u,this.playingField)||-1/0;if("Orthographic"===n.options.name&&2>(l?.length||0)&&(this.minZoom||1/0)<1.3*m){let t=440/(this.getScale()*Math.min(o.plotWidth,o.plotHeight));if(i){let e=(h-a)*t-i[0],s=t2(-i[1]-(p-c)*t,-80,80),r=this.zoom;this.update({projection:{rotation:[-e,-s]}},!1),this.fitToBounds(void 0,void 0,!1),this.zoom=r,o.redraw(!1)}}else if(t7(a)&&t7(c)){let e=this.getScale(),i=this.projection.hasCoordinates?1:-1,o=this.projection.inverse([t[0]+(h-a)/e,t[1]-(p-c)/e*i]);isNaN(o[0]+o[1])||this.zoomBy(d,o,void 0,!1)}s.preventDefault()}};t1(o,"pan",s),t1(o,"touchpan",s),t1(o,"selection",t=>{if(t.resetSelection)this.zoomBy();else{let e=t.x-o.plotLeft,i=t.y-o.plotTop,{y:s,x:r}=this.pixelsToProjectedUnits({x:e,y:i}),{y:a,x:n}=this.pixelsToProjectedUnits({x:e+t.width,y:i+t.height});this.fitToBounds({x1:r,y1:s,x2:n,y2:a},void 0,!0,!t.originalEvent.touches&&void 0),/^touch/.test(t.originalEvent.type)||o.showResetZoom(),t.preventDefault()}})}render(){this.group||(this.group=this.chart.renderer.g("map-view").attr({zIndex:4}).add())}update(t,e=!0,i){let o=t.projection,s=o&&t$.toString(o)!==t$.toString(this.options.projection),r=!1;t5(!0,this.userOptions,t),t5(!0,this.options,t),"insets"in t&&(this.insets.forEach(t=>t.destroy()),this.insets.length=0,r=!0),(s||"fitToGeometry"in t)&&delete this.fitToGeometryCache,(s||r)&&(this.chart.series.forEach(t=>{let e=t.transformGroups;if(t.clearBounds&&t.clearBounds(),t.isDirty=!0,t.isDirtyData=!0,r&&e)for(;e.length>1;){let t=e.pop();t&&t.destroy()}}),s&&(this.projection=new t$(this.options.projection)),r&&this.createInsets(),!t.center&&Object.hasOwnProperty.call(t,"zoom")&&!t7(t.zoom)&&this.fitToBounds(void 0,void 0,!1)),t.center||t7(t.zoom)?this.setView(this.options.center,t.zoom,!1):"fitToGeometry"in t&&this.fitToBounds(void 0,void 0,!1),e&&this.chart.redraw(i)}zoomBy(t,e,i,o){let s=this.chart,r=this.projection.forward(this.center);if("number"==typeof t){let a,n,l,h=this.zoom+t;if(i){let[t,e]=i,o=this.getScale(),a=t-s.plotLeft-s.plotWidth/2,h=e-s.plotTop-s.plotHeight/2;n=r[0]+a/o,l=r[1]+h/o}if("number"==typeof n&&"number"==typeof l){let t=1-Math.pow(2,this.zoom)/Math.pow(2,h),e=r[0]-n,i=r[1]-l;r[0]-=e*t,r[1]+=i*t,a=this.projection.inverse(r)}this.setView(e||a,h,void 0,o)}else this.fitToBounds(void 0,void 0,void 0,o)}}class en extends ea{constructor(t,e){if(super(t.chart,e),this.id=e.id,this.mapView=t,this.options=t5({center:[0,0]},t.options.insetOptions,e),this.allBounds=[],this.options.geoBounds){let e=t.projection.path(this.options.geoBounds);this.geoBoundsProjectedBox=t0(e),this.geoBoundsProjectedPolygon=e.map(t=>[t[1]||0,t[2]||0])}}getField(t=!0){let e=this.hitZone;if(e){let i=t?this.padding:[0,0,0,0],o=e.coordinates[0],s=o.map(t=>t[0]),r=o.map(t=>t[1]),a=Math.min.apply(0,s)+i[3],n=Math.max.apply(0,s)-i[1],l=Math.min.apply(0,r)+i[0],h=Math.max.apply(0,r)-i[2];if(t7(a)&&t7(l))return{x:a,y:l,width:n-a,height:h-l}}return super.getField.call(this,t)}getHitZone(){let{chart:t,mapView:e,options:i}=this,{coordinates:o}=i.field||{};if(o){let s=o[0];if("percent"===i.units){let o="mapBoundingBox"===i.relativeTo&&e.getMapBBox()||t5(t.plotBox,{x:0,y:0});s=s.map(t=>[ei(`${t[0]}%`,o.width,o.x),ei(`${t[1]}%`,o.height,o.y)])}return{type:"Polygon",coordinates:[s]}}}getProjectedBounds(){return ea.compositeBounds(this.allBounds)}isInside(t){let{geoBoundsProjectedBox:e,geoBoundsProjectedPolygon:i}=this;return!!(e&&t.x>=e.x1&&t.x<=e.x2&&t.y>=e.y1&&t.y<=e.y2&&i&&tJ(t,i))}render(){let{chart:t,mapView:e,options:i}=this,o=i.borderPath||i.field;if(o&&e.group){let s=!0;this.border||(this.border=t.renderer.path().addClass("highcharts-mapview-inset-border").add(e.group),s=!1),t.styledMode||this.border.attr({stroke:i.borderColor,"stroke-width":i.borderWidth});let r=this.border.strokeWidth(),a="mapBoundingBox"===i.relativeTo&&e.getMapBBox()||e.playingField,n=(o.coordinates||[]).reduce((e,o)=>o.reduce((e,o,s)=>{let[n,l]=o;return"percent"===i.units&&(n=t.plotLeft+ei(`${n}%`,a.width,a.x),l=t.plotTop+ei(`${l}%`,a.height,a.y)),n=t6(n,r),l=t6(l,r),e.push(0===s?["M",n,l]:["L",n,l]),e},e),[]);this.border[s?"animate":"attr"]({d:n})}}destroy(){this.border&&(this.border=this.border.destroy()),this.eventsToUnbind.forEach(t=>t())}setUpEvents(){}}let{animObject:el,stop:eh}=c(),{noop:ep}=c(),{splitPath:ed}=tr,{column:ec,scatter:eu}=E().seriesTypes,{extend:em,find:eg,fireEvent:eb,getNestedProperty:ef,isArray:ey,defined:ex,isNumber:eM,isObject:ev,merge:ew,objectEach:eT,pick:eP,splat:ej}=c();class eL extends eu{constructor(){super(...arguments),this.processedData=[]}animate(t){let{chart:e,group:i}=this,o=el(this.options.animation);t?i.attr({translateX:e.plotLeft+e.plotWidth/2,translateY:e.plotTop+e.plotHeight/2,scaleX:.001,scaleY:.001}):i.animate({translateX:e.plotLeft,translateY:e.plotTop,scaleX:1,scaleY:1},o)}clearBounds(){this.points.forEach(t=>{delete t.bounds,delete t.insetIndex,delete t.projectedPath}),delete this.bounds}doFullTranslate(){return!!(this.isDirtyData||this.chart.isResizing||!this.hasRendered)}drawMapDataLabels(){super.drawDataLabels(),this.dataLabelsGroup&&this.dataLabelsGroup.clip(this.chart.clipRect)}drawPoints(){let t=this,{chart:e,group:i,transformGroups:o=[]}=this,{mapView:s,renderer:r}=e;if(s){this.transformGroups=o,o[0]||(o[0]=r.g().add(i));for(let t=0,e=s.insets.length;t<e;++t)o[t+1]||o.push(r.g().add(i));this.doFullTranslate()&&(this.points.forEach(t=>{let{graphic:e}=t;t.group=o["number"==typeof t.insetIndex?t.insetIndex+1:0],e&&e.parentGroup!==t.group&&e.add(t.group)}),ec.prototype.drawPoints.apply(this),this.points.forEach(i=>{let o=i.graphic;if(o){let s=o.animate,r="";i.name&&(r+="highcharts-name-"+i.name.replace(/ /g,"-").toLowerCase()),i.properties?.["hc-key"]&&(r+=" highcharts-key-"+i.properties["hc-key"].toString().toLowerCase()),r&&o.addClass(r),e.styledMode&&o.css(this.pointAttribs(i,i.selected&&"select"||void 0)),o.attr({visibility:!i.visible&&(i.visible||i.isNull)?"hidden":"inherit"}),o.animate=function(i,r,a){let n=eM(i["stroke-width"])&&!eM(o["stroke-width"]),l=eM(o["stroke-width"])&&!eM(i["stroke-width"]);if(n||l){let s=eP(t.getStrokeWidth(t.options),1)/(e.mapView?.getScale()||1);n&&(o["stroke-width"]=s),l&&(i["stroke-width"]=s)}return s.call(o,i,r,l?function(){o.element.removeAttribute("stroke-width"),delete o["stroke-width"],a&&a.apply(this,arguments)}:a)}}})),o.forEach((i,o)=>{let a=(0===o?s:s.insets[o-1]).getSVGTransform(),n=eP(this.getStrokeWidth(this.options),1),l=a.scaleX,h=a.scaleY>0?1:-1,p=e=>{(t.points||[]).forEach(t=>{let i,o=t.graphic;o?.["stroke-width"]&&(i=this.getStrokeWidth(t.options))&&o.attr({"stroke-width":i/e})})};if(r.globalAnimation&&e.hasRendered&&s.allowTransformAnimation){let t=Number(i.attr("translateX")),e=Number(i.attr("translateY")),o=Number(i.attr("scaleX")),s=(s,r)=>{let d=o+(l-o)*r.pos;i.attr({translateX:t+(a.translateX-t)*r.pos,translateY:e+(a.translateY-e)*r.pos,scaleX:d,scaleY:d*h,"stroke-width":n/d}),p(d)},d=ew(el(r.globalAnimation)),c=d.step;d.step=function(){c&&c.apply(this,arguments),s.apply(this,arguments)},i.attr({animator:0}).animate({animator:1},d,(function(){"boolean"!=typeof r.globalAnimation&&r.globalAnimation.complete&&r.globalAnimation.complete({applyDrilldown:!0}),eb(this,"mapZoomComplete")}).bind(this))}else eh(i),i.attr(ew(a,{"stroke-width":n/l})),p(l)}),this.isDrilling||this.drawMapDataLabels()}}getProjectedBounds(){if(!this.bounds&&this.chart.mapView){let{insets:t,projection:e}=this.chart.mapView,i=[];(this.points||[]).forEach(o=>{if(o.path||o.geometry){if("string"==typeof o.path?o.path=ed(o.path):ey(o.path)&&"M"===o.path[0]&&(o.path=this.chart.renderer.pathToSegments(o.path)),!o.bounds){let i=o.getProjectedBounds(e);if(i){o.labelrank=eP(o.labelrank,(i.x2-i.x1)*(i.y2-i.y1));let{midX:e,midY:s}=i;if(t&&eM(e)&&eM(s)){let r=eg(t,t=>t.isInside({x:e,y:s}));r&&(delete o.projectedPath,(i=o.getProjectedBounds(r.projection))&&r.allBounds.push(i),o.insetIndex=t.indexOf(r))}o.bounds=i}}o.bounds&&void 0===o.insetIndex&&i.push(o.bounds)}}),this.bounds=ea.compositeBounds(i)}return this.bounds}getStrokeWidth(t){let e=this.pointAttrToOptions;return t[e?.["stroke-width"]||"borderWidth"]}hasData(){return!!this.dataTable.rowCount}pointAttribs(t,e){let{mapView:i,styledMode:o}=t.series.chart,s=o?this.colorAttribs(t):ec.prototype.pointAttribs.call(this,t,e),r=this.getStrokeWidth(t.options);if(e){let i=ew(this.options.states&&this.options.states[e],t.options.states&&t.options.states[e]||{}),o=this.getStrokeWidth(i);ex(o)&&(r=o),s.stroke=i.borderColor??t.color}r&&i&&(r/=i.getScale());let a=this.getStrokeWidth(this.options);return s.dashstyle&&i&&eM(a)&&(r=a/i.getScale()),t.visible||(s.fill=this.options.nullColor),ex(r)?s["stroke-width"]=r:delete s["stroke-width"],s["stroke-linecap"]=s["stroke-linejoin"]=this.options.linecap,s}updateData(){return!this.processedData&&super.updateData.apply(this,arguments)}setData(t,e=!0,i,o){delete this.bounds,super.setData(t,!1,void 0,o),this.processData(),this.generatePoints(),e&&this.chart.redraw(i)}dataColumnKeys(){return this.pointArrayMap}processData(){let t,e,i,o=this.options,s=o.data,r=this.chart,a=r.options.chart,n=this.joinBy,l=o.keys||this.pointArrayMap,h=[],p={},d=this.chart.mapView,u=d&&(ev(o.mapData,!0)?d.getGeoMap(o.mapData):d.geoMap),m=r.mapTransforms=a.mapTransforms||u?.["hc-transform"]||r.mapTransforms;m&&eT(m,t=>{t.rotation&&(t.cosAngle=Math.cos(t.rotation),t.sinAngle=Math.sin(t.rotation))}),ey(o.mapData)?i=o.mapData:u&&"FeatureCollection"===u.type&&(this.mapTitle=u.title,i=c().geojson(u,this.type,this)),this.processedData=[];let g=this.processedData;if(s){let t;for(let e=0,i=s.length;e<i;++e){if(eM(t=s[e]))g[e]={value:t};else if(ey(t)){let i=0;g[e]={},!o.keys&&t.length>l.length&&"string"==typeof t[0]&&(g[e]["hc-key"]=t[0],++i);for(let o=0;o<l.length;++o,++i)l[o]&&void 0!==t[i]&&(l[o].indexOf(".")>0?tc.prototype.setNestedProperty(g[e],t[i],l[o]):g[e][l[o]]=t[i])}else g[e]=s[e];n&&"_i"===n[0]&&(g[e]._i=e)}}if(i){this.mapData=i,this.mapMap={};for(let o=0;o<i.length;o++)e=(t=i[o]).properties,t._i=o,n[0]&&e&&e[n[0]]&&(t[n[0]]=e[n[0]]),p[t[n[0]]]=t;if(this.mapMap=p,n[1]){let t=n[1];g.forEach(e=>{let i=ef(t,e);p[i]&&h.push(p[i])})}if(o.allAreas){if(n[1]){let t=n[1];g.forEach(e=>{h.push(ef(t,e))})}let t="|"+h.map(function(t){return t&&t[n[0]]}).join("|")+"|";i.forEach(e=>{n[0]&&-1!==t.indexOf("|"+e[n[0]]+"|")||g.push(ew(e,{value:null}))})}}this.dataTable.rowCount=g.length}setOptions(t){let e=super.setOptions(t),i=e.joinBy;return null===e.joinBy&&(i="_i"),i&&(this.joinBy=ej(i),this.joinBy[1]||(this.joinBy[1]=this.joinBy[0])),e}translate(){let t=this.doFullTranslate(),e=this.chart.mapView,i=e?.projection;if(this.chart.hasRendered&&(this.isDirtyData||!this.hasRendered)&&(this.processData(),this.generatePoints(),delete this.bounds,!e||e.userOptions.center||eM(e.userOptions.zoom)||e.zoom!==e.minZoom?this.getProjectedBounds():e.fitToBounds(void 0,void 0,!1)),e){let o=e.getSVGTransform();this.points.forEach(s=>{let r=eM(s.insetIndex)&&e.insets[s.insetIndex].getSVGTransform()||o;r&&s.bounds&&eM(s.bounds.midX)&&eM(s.bounds.midY)&&(s.plotX=s.bounds.midX*r.scaleX+r.translateX,s.plotY=s.bounds.midY*r.scaleY+r.translateY),t&&(s.shapeType="path",s.shapeArgs={d:tc.getProjectedPath(s,i)}),!s.hiddenInDataClass&&(s.projectedPath&&!s.projectedPath.length?s.setVisible(!1):s.visible||s.setVisible(!0))})}eb(this,"afterTranslate")}update(t){t.mapData&&this.chart.mapView?.recommendMapView(this.chart,[this.chart.options.chart.map,...(this.chart.options.series||[]).map((e,i)=>i===this._i?t.mapData:e.mapData)],!0),super.update.apply(this,arguments)}}eL.defaultOptions=ew(eu.defaultOptions,{affectsMapView:!0,animation:!1,dataLabels:{crop:!1,formatter:function(){let{numberFormatter:t}=this.series.chart,{value:e}=this.point;return tu(e)?t(e,-1):this.point.name||""},inside:!0,overflow:!1,padding:0,verticalAlign:"middle"},linecap:"round",marker:null,nullColor:"#f7f7f7",stickyTracking:!1,tooltip:{followPointer:!0,pointFormat:"{point.name}: {point.value}<br/>"},turboThreshold:0,allAreas:!0,borderColor:"#e6e6e6",borderWidth:1,joinBy:"hc-key",states:{hover:{halo:void 0,borderColor:"#666666",borderWidth:2},normal:{animation:!0},select:{color:"#cccccc"}},legendSymbol:"rectangle"}),em(eL.prototype,{type:"map",axisTypes:R.seriesMembers.axisTypes,colorAttribs:R.seriesMembers.colorAttribs,colorKey:R.seriesMembers.colorKey,directTouch:!0,drawDataLabels:ep,drawGraph:ep,forceDL:!0,getCenter:q.getCenter,getExtremesFromAll:!0,getSymbol:ep,isCartesian:!1,parallelArrays:R.seriesMembers.parallelArrays,pointArrayMap:R.seriesMembers.pointArrayMap,pointClass:tc,preserveAspectRatio:!0,searchPoint:ep,trackerGroups:R.seriesMembers.trackerGroups,useMapGeometry:!0}),R.compose(eL),E().registerSeriesType("map",eL);let eC=eL,{extend:eA,merge:ek}=c();class ez extends eC{pointAttribs(t,e){let i=super.pointAttribs(t,e);return i.fill=this.options.fillColor,i}}ez.defaultOptions=ek(eC.defaultOptions,{lineWidth:1,fillColor:"none",legendSymbol:"lineMarker"}),eA(ez.prototype,{type:"mapline",colorProp:"stroke",pointAttrToOptions:{stroke:"color","stroke-width":"lineWidth"}}),E().registerSeriesType("mapline",ez);let{scatter:eB}=E().seriesTypes,{isNumber:eS}=c();class eE extends eB.prototype.pointClass{isValid(){return!!(this.options.geometry||eS(this.x)&&eS(this.y)||eS(this.options.lon)&&eS(this.options.lat))}}p.d({},{});let{noop:eO}=c(),{map:eD,scatter:eV}=E().seriesTypes,{extend:eI,fireEvent:eN,isNumber:eX,merge:eG}=c();class eR extends eV{constructor(){super(...arguments),this.clearBounds=eD.prototype.clearBounds}drawDataLabels(){super.drawDataLabels(),this.dataLabelsGroup&&this.dataLabelsGroup.clip(this.chart.clipRect)}projectPoint(t){let e=this.chart.mapView;if(e){let{geometry:i,lon:o,lat:s}=t,r=i&&"Point"===i.type&&i.coordinates;if(eX(o)&&eX(s)&&(r=[o,s]),r)return e.lonLatToProjectedUnits({lon:r[0],lat:r[1]})}}translate(){let t=this.chart.mapView;if(this.generatePoints(),this.getProjectedBounds&&this.isDirtyData&&(delete this.bounds,this.getProjectedBounds()),t){let e=t.getSVGTransform(),{hasCoordinates:i}=t.projection;this.points.forEach(o=>{let s,{x:r,y:a}=o,n=eX(o.insetIndex)&&t.insets[o.insetIndex].getSVGTransform()||e,l=this.projectPoint(o.options)||o.properties&&this.projectPoint(o.properties);if(l?(r=l.x,a=l.y):o.bounds&&(r=o.bounds.midX,a=o.bounds.midY,n&&eX(r)&&eX(a)&&(o.plotX=r*n.scaleX+n.translateX,o.plotY=a*n.scaleY+n.translateY,s=!0)),eX(r)&&eX(a)){if(!s){let e=t.projectedUnitsToPixels({x:r,y:a});o.plotX=e.x,o.plotY=i?e.y:this.chart.plotHeight-e.y}}else o.y=o.plotX=o.plotY=void 0;o.isInside=this.isPointInside(o),o.zone=this.zones.length?o.getZone():void 0})}eN(this,"afterTranslate")}}eR.defaultOptions=eG(eV.defaultOptions,{dataLabels:{crop:!1,defer:!1,enabled:!0,formatter:function(){return this.point.name},overflow:!1,style:{color:"#000000"}},legendSymbol:"lineMarker"}),Q().prototype.symbols.mapmarker=(t,e,i,o,s)=>{let r,a,n=s&&"legend"===s.context;n?(r=t+i/2,a=e+o):s&&"number"==typeof s.anchorX&&"number"==typeof s.anchorY?(r=s.anchorX,a=s.anchorY):(r=t+i/2,a=e+o/2,e-=o);let l=n?o/3:o/2;return[["M",r,a],["C",r,a,r-l,e+1.5*l,r-l,e+l],["A",l,l,1,1,1,r+l,e+l],["C",r+l,e+1.5*l,r,a,r,a],["Z"]]},eI(eR.prototype,{type:"mappoint",axisTypes:["colorAxis"],forceDL:!0,isCartesian:!1,pointClass:eE,searchPoint:eO,useMapGeometry:!0}),E().registerSeriesType("mappoint",eR);let eY={borderColor:void 0,borderWidth:2,className:void 0,color:void 0,connectorClassName:void 0,connectorColor:void 0,connectorDistance:60,connectorWidth:1,enabled:!1,labels:{className:void 0,allowOverlap:!1,format:"",formatter:void 0,align:"right",style:{fontSize:"0.9em",color:"#000000"},x:0,y:0},maxSize:60,minSize:10,legendIndex:0,ranges:{value:void 0,borderColor:void 0,color:void 0,connectorColor:void 0},sizeBy:"area",sizeByAbsoluteValue:!1,zIndex:1,zThreshold:0},{noop:eF}=c(),{arrayMax:eU,arrayMin:eZ,isNumber:eW,merge:eH,pick:e_,stableSort:eq}=c(),e$=class{constructor(t,e){this.setState=eF,this.init(t,e)}init(t,e){this.options=t,this.visible=!0,this.chart=e.chart,this.legend=e}addToLegend(t){t.splice(this.options.legendIndex,0,this)}drawLegendSymbol(t){let e,i=e_(t.options.itemDistance,20),o=this.legendItem||{},s=this.options,r=s.ranges,a=s.connectorDistance;if(!r||!r.length||!eW(r[0].value)){t.options.bubbleLegend.autoRanges=!0;return}eq(r,function(t,e){return e.value-t.value}),this.ranges=r,this.setOptions(),this.render();let n=this.getMaxLabelSize(),l=this.ranges[0].radius,h=2*l;e=(e=a-l+n.width)>0?e:0,this.maxLabel=n,this.movementX="left"===s.labels.align?e:0,o.labelWidth=h+e+i,o.labelHeight=h+n.height/2}setOptions(){let t=this.ranges,e=this.options,i=this.chart.series[e.seriesIndex],o=this.legend.baseline,s={zIndex:e.zIndex,"stroke-width":e.borderWidth},r={zIndex:e.zIndex,"stroke-width":e.connectorWidth},a={align:this.legend.options.rtl||"left"===e.labels.align?"right":"left",zIndex:e.zIndex},n=i.options.marker.fillOpacity,l=this.chart.styledMode;t.forEach(function(h,p){l||(s.stroke=e_(h.borderColor,e.borderColor,i.color),s.fill=h.color||e.color,s.fill||(s.fill=i.color,s["fill-opacity"]=n??1),r.stroke=e_(h.connectorColor,e.connectorColor,i.color)),t[p].radius=this.getRangeRadius(h.value),t[p]=eH(t[p],{center:t[0].radius-t[p].radius+o}),l||eH(!0,t[p],{bubbleAttribs:eH(s),connectorAttribs:eH(r),labelAttribs:a})},this)}getRangeRadius(t){let e=this.options,i=this.options.seriesIndex,o=this.chart.series[i],s=e.ranges[0].value,r=e.ranges[e.ranges.length-1].value,a=e.minSize,n=e.maxSize;return o.getRadius.call(this,r,s,a,n,t)}render(){let t=this.legendItem||{},e=this.chart.renderer,i=this.options.zThreshold;for(let o of(this.symbols||(this.symbols={connectors:[],bubbleItems:[],labels:[]}),t.symbol=e.g("bubble-legend"),t.label=e.g("bubble-legend-item").css(this.legend.itemStyle||{}),t.symbol.translateX=0,t.symbol.translateY=0,t.symbol.add(t.label),t.label.add(t.group),this.ranges))o.value>=i&&this.renderRange(o);this.hideOverlappingLabels()}renderRange(t){let e=this.ranges[0],i=this.legend,o=this.options,s=o.labels,r=this.chart,a=r.series[o.seriesIndex],n=r.renderer,l=this.symbols,h=l.labels,p=t.center,d=Math.abs(t.radius),c=o.connectorDistance||0,u=s.align,m=i.options.rtl,g=o.borderWidth,b=o.connectorWidth,f=e.radius||0,y=p-d-g/2+b/2,x=(y%1?1:.5)-(b%2?0:.5),M=n.styledMode,v=m||"left"===u?-c:c;"center"===u&&(v=0,o.connectorDistance=0,t.labelAttribs.align="center"),l.bubbleItems.push(n.circle(f,p+x,d).attr(M?{}:t.bubbleAttribs).addClass((M?"highcharts-color-"+a.colorIndex+" ":"")+"highcharts-bubble-legend-symbol "+(o.className||"")).add(this.legendItem.symbol)),l.connectors.push(n.path(n.crispLine([["M",f,y],["L",f+v,y]],o.connectorWidth)).attr(M?{}:t.connectorAttribs).addClass((M?"highcharts-color-"+this.options.seriesIndex+" ":"")+"highcharts-bubble-legend-connectors "+(o.connectorClassName||"")).add(this.legendItem.symbol));let w=n.text(this.formatLabel(t)).attr(M?{}:t.labelAttribs).css(M?{}:s.style).addClass("highcharts-bubble-legend-labels "+(o.labels.className||"")).add(this.legendItem.symbol),T={x:f+v+o.labels.x,y:y+o.labels.y+.4*w.getBBox().height};w.attr(T),h.push(w),w.placed=!0,w.alignAttr=T}getMaxLabelSize(){let t,e;return this.symbols.labels.forEach(function(i){e=i.getBBox(!0),t=t?e.width>t.width?e:t:e}),t||{}}formatLabel(t){let e=this.options,i=e.labels.formatter,o=e.labels.format,{numberFormatter:s}=this.chart;return o?tb().format(o,t,this.chart):i?i.call(t):s(t.value,1)}hideOverlappingLabels(){let t=this.chart,e=this.options.labels.allowOverlap,i=this.symbols;!e&&i&&(t.hideOverlappingLabels(i.labels),i.labels.forEach(function(t,e){t.newOpacity?t.newOpacity!==t.oldOpacity&&i.connectors[e].show():i.connectors[e].hide()}))}getRanges(){let t=this.legend.bubbleLegend,e=t.chart.series,i=t.options.ranges,o,s,r=Number.MAX_VALUE,a=-Number.MAX_VALUE;return e.forEach(function(t){t.isBubble&&!t.ignoreSeries&&(s=t.getColumn("z").filter(eW)).length&&(r=e_(t.options.zMin,Math.min(r,Math.max(eZ(s),!1===t.options.displayNegative?t.options.zThreshold:-Number.MAX_VALUE))),a=e_(t.options.zMax,Math.max(a,eU(s))))}),o=r===a?[{value:a}]:[{value:r},{value:(r+a)/2},{value:a,autoRanges:!0}],i.length&&i[0].radius&&o.reverse(),o.forEach(function(t,e){i&&i[e]&&(o[e]=eH(i[e],t))}),o}predictBubbleSizes(){let t=this.chart,e=t.legend.options,i=e.floating,o="horizontal"===e.layout,s=o?t.legend.lastLineHeight:0,r=t.plotSizeX,a=t.plotSizeY,n=t.series[this.options.seriesIndex],l=n.getPxExtremes(),h=Math.ceil(l.minPxSize),p=Math.ceil(l.maxPxSize),d=Math.min(a,r),c,u=n.options.maxSize;return i||!/%$/.test(u)?c=p:(c=(d+s)*(u=parseFloat(u))/100/(u/100+1),(o&&a-c>=r||!o&&r-c>=a)&&(c=p)),[h,Math.ceil(c)]}updateRanges(t,e){let i=this.legend.options.bubbleLegend;i.minSize=t,i.maxSize=e,i.ranges=this.getRanges()}correctSizes(){let t=this.legend,e=this.chart.series[this.options.seriesIndex].getPxExtremes();Math.abs(Math.ceil(e.maxPxSize)-this.options.maxSize)>1&&(this.updateRanges(this.options.minSize,e.maxPxSize),t.render())}},{setOptions:eK}=c(),{composed:eJ}=c(),{addEvent:eQ,objectEach:e0,pushUnique:e1,wrap:e2}=c();function e6(t,e,i){let o,s,r,a=this.legend,n=e3(this)>=0;a&&a.options.enabled&&a.bubbleLegend&&a.options.bubbleLegend.autoRanges&&n?(o=a.bubbleLegend.options,s=a.bubbleLegend.predictBubbleSizes(),a.bubbleLegend.updateRanges(s[0],s[1]),o.placed||(a.group.placed=!1,a.allItems.forEach(t=>{(r=t.legendItem||{}).group&&(r.group.translateY=void 0)})),a.render(),o.placed||(this.getMargins(),this.axes.forEach(t=>{t.setScale(),t.updateNames(),e0(t.ticks,function(t){t.isNew=!0,t.isNewLabel=!0})}),this.getMargins()),o.placed=!0,t.call(this,e,i),a.bubbleLegend.correctSizes(),e4(a,e8(a))):(t.call(this,e,i),a&&a.options.enabled&&a.bubbleLegend&&(a.render(),e4(a,e8(a))))}function e3(t){let e=t.series,i=0;for(;i<e.length;){if(e[i]&&e[i].isBubble&&e[i].visible&&e[i].dataTable.rowCount)return i;i++}return -1}function e8(t){let e=t.allItems,i=[],o=e.length,s,r,a,n=0,l=0;for(n=0;n<o;n++)if(r=e[n].legendItem||{},a=(e[n+1]||{}).legendItem||{},r.labelHeight&&(e[n].itemHeight=r.labelHeight),e[n]===e[o-1]||r.y!==a.y){for(i.push({height:0}),s=i[i.length-1];l<=n;l++)e[l].itemHeight>s.height&&(s.height=e[l].itemHeight);s.step=n}return i}function e7(t){let e=this.bubbleLegend,i=this.options,o=i.bubbleLegend,s=e3(this.chart);e&&e.ranges&&e.ranges.length&&(o.ranges.length&&(o.autoRanges=!!o.ranges[0].autoRanges),this.destroyItem(e)),s>=0&&i.enabled&&o.enabled&&(o.seriesIndex=s,this.bubbleLegend=new e$(o,this),this.bubbleLegend.addToLegend(t.allItems))}function e9(t){let e;if(t.defaultPrevented)return!1;let i=t.legendItem,o=this.chart,s=i.visible;this&&this.bubbleLegend&&(i.visible=!s,i.ignoreSeries=s,e=e3(o)>=0,this.bubbleLegend.visible!==e&&(this.update({bubbleLegend:{enabled:e}}),this.bubbleLegend.visible=e),i.visible=s)}function e4(t,e){let i=t.allItems,o=t.options.rtl,s,r,a,n,l=0;i.forEach((t,i)=>{(n=t.legendItem||{}).group&&(s=n.group.translateX||0,r=n.y||0,((a=t.movementX)||o&&t.ranges)&&(a=o?s-t.options.maxSize/2:s+a,n.group.attr({translateX:a})),i>e[l].step&&l++,n.group.attr({translateY:Math.round(r+e[l].height/2)}),n.y=r+e[l].height/2)})}let e5=function(t,e){e1(eJ,"Series.BubbleLegend")&&(eK({legend:{bubbleLegend:eY}}),e2(t.prototype,"drawChartBox",e6),eQ(e,"afterGetAllItems",e7),eQ(e,"itemClick",e9))},it=e.default.Point;var ie=p.n(it);let{seriesTypes:{scatter:{prototype:{pointClass:ii}}}}=E(),{extend:io}=c();class is extends ii{haloPath(t){let e=(t&&this.marker&&this.marker.radius||0)+t;if(this.series.chart.inverted){let t=this.pos()||[0,0],{xAxis:i,yAxis:o,chart:s}=this.series,r=2*e;return s.renderer.symbols.circle((i?.len||0)-t[1]-e,(o?.len||0)-t[0]-e,r,r)}return ie().prototype.haloPath.call(this,e)}}io(is.prototype,{ttBelow:!1});let ir=is,{composed:ia,noop:il}=c(),{series:ih,seriesTypes:{column:{prototype:ip},scatter:id}}=E(),{addEvent:ic,arrayMax:iu,arrayMin:im,clamp:ig,extend:ib,isNumber:iy,merge:ix,pick:iM,pushUnique:iv}=c();function iw(){let t=this.len,{coll:e,isXAxis:i,min:o}=this,s=(this.max||0)-(o||0),r=0,a=t,n=t/s,l;("xAxis"===e||"yAxis"===e)&&(this.series.forEach(t=>{if(t.bubblePadding&&t.reserveSpace()){this.allowZoomOutside=!0,l=!0;let e=t.getColumn(i?"x":"y");if(i&&((t.onPoint||t).getRadii(0,0,t),t.onPoint&&(t.radii=t.onPoint.radii)),s>0){let i=e.length;for(;i--;)if(iy(e[i])&&this.dataMin<=e[i]&&e[i]<=this.max){let s=t.radii&&t.radii[i]||0;r=Math.min((e[i]-o)*n-s,r),a=Math.max((e[i]-o)*n+s,a)}}}}),l&&s>0&&!this.logarithmic&&(a-=t,n*=(t+Math.max(0,r)-Math.min(a,t))/t,[["min","userMin",r],["max","userMax",a]].forEach(t=>{void 0===iM(this.options[t[0]],this[t[1]])&&(this[t[0]]+=t[2]/n)})))}function iT(){let{ticks:t,tickPositions:e,dataMin:i=0,dataMax:o=0,categories:s}=this,r=this.options.type;if((s?.length||"category"===r)&&this.series.find(t=>t.bubblePadding)){let s=e.length;for(;s--;){let r=t[e[s]],a=r.pos||0;(a>o||a<i)&&r.label?.hide()}}}class iP extends id{static compose(t,e,i){e5(e,i),iv(ia,"Series.Bubble")&&(ic(t,"foundExtremes",iw),ic(t,"afterRender",iT))}animate(t){!t&&this.points.length<this.options.animationLimit&&this.points.forEach(function(t){let{graphic:e,plotX:i=0,plotY:o=0}=t;e&&e.width&&(this.hasRendered||e.attr({x:i,y:o,width:1,height:1}),e.animate(this.markerAttribs(t),this.options.animation))},this)}getRadii(){let t=this.getColumn("z"),e=this.getColumn("y"),i=[],o,s,r,a=this.chart.bubbleZExtremes,{minPxSize:n,maxPxSize:l}=this.getPxExtremes();if(!a){let t,e=Number.MAX_VALUE,i=-Number.MAX_VALUE;this.chart.series.forEach(o=>{if(o.bubblePadding&&o.reserveSpace()){let s=(o.onPoint||o).getZExtremes();s&&(e=Math.min(iM(e,s.zMin),s.zMin),i=Math.max(iM(i,s.zMax),s.zMax),t=!0)}}),t?(a={zMin:e,zMax:i},this.chart.bubbleZExtremes=a):a={zMin:0,zMax:0}}for(s=0,o=t.length;s<o;s++)r=t[s],i.push(this.getRadius(a.zMin,a.zMax,n,l,r,e&&e[s]));this.radii=i}getRadius(t,e,i,o,s,r){let a=this.options,n="width"!==a.sizeBy,l=a.zThreshold,h=e-t,p=.5;if(null===r||null===s)return null;if(iy(s)){if(a.sizeByAbsoluteValue&&(s=Math.abs(s-l),e=h=Math.max(e-l,Math.abs(t-l)),t=0),s<t)return i/2-1;h>0&&(p=(s-t)/h)}return n&&p>=0&&(p=Math.sqrt(p)),Math.ceil(i+p*(o-i))/2}hasData(){return!!this.dataTable.rowCount}markerAttribs(t,e){let i=super.markerAttribs(t,e),{height:o=0,width:s=0}=i;return this.chart.inverted?ib(i,{x:(t.plotX||0)-s/2,y:(t.plotY||0)-o/2}):i}pointAttribs(t,e){let i=this.options.marker,o=i?.fillOpacity,s=ih.prototype.pointAttribs.call(this,t,e);return s["fill-opacity"]=o??1,s}translate(){super.translate.call(this),this.getRadii(),this.translateBubble()}translateBubble(){let{data:t,options:e,radii:i}=this,{minPxSize:o}=this.getPxExtremes(),s=t.length;for(;s--;){let r=t[s],a=i?i[s]:0;"z"===this.zoneAxis&&(r.negative=(r.z||0)<(e.zThreshold||0)),iy(a)&&a>=o/2?(r.marker=ib(r.marker,{radius:a,width:2*a,height:2*a}),r.dlBox={x:r.plotX-a,y:r.plotY-a,width:2*a,height:2*a}):(r.shapeArgs=r.plotY=r.dlBox=void 0,r.isInside=!1)}}getPxExtremes(){let t=Math.min(this.chart.plotWidth,this.chart.plotHeight),e=e=>{let i;return"string"==typeof e&&(i=/%$/.test(e),e=parseInt(e,10)),i?t*e/100:e},i=e(iM(this.options.minSize,8)),o=Math.max(e(iM(this.options.maxSize,"20%")),i);return{minPxSize:i,maxPxSize:o}}getZExtremes(){let t=this.options,e=this.getColumn("z").filter(iy);if(e.length){let i=iM(t.zMin,ig(im(e),!1===t.displayNegative?t.zThreshold||0:-Number.MAX_VALUE,Number.MAX_VALUE)),o=iM(t.zMax,iu(e));if(iy(i)&&iy(o))return{zMin:i,zMax:o}}}searchKDTree(t,e,i,o=il,s=il){return o=(t,e,i)=>{let o=t[i]||0,s=e[i]||0,r,a=!1;return o===s?r=t.index>e.index?t:e:o<0&&s<0?(r=o-(t.marker?.radius||0)>=s-(e.marker?.radius||0)?t:e,a=!0):r=o<s?t:e,[r,a]},s=(t,e,i)=>!i&&t>e||t<e,super.searchKDTree(t,e,i,o,s)}}iP.defaultOptions=ix(id.defaultOptions,{dataLabels:{formatter:function(){let{numberFormatter:t}=this.series.chart,{z:e}=this.point;return iy(e)?t(e,-1):""},inside:!0,verticalAlign:"middle"},animationLimit:250,marker:{lineColor:null,lineWidth:1,fillOpacity:.5,radius:null,states:{hover:{radiusPlus:0}},symbol:"circle"},minSize:8,maxSize:"20%",softThreshold:!1,states:{hover:{halo:{size:5}}},tooltip:{pointFormat:"({point.x}, {point.y}), Size: {point.z}"},turboThreshold:0,zThreshold:0,zoneAxis:"z"}),ib(iP.prototype,{alignDataLabel:ip.alignDataLabel,applyZones:il,bubblePadding:!0,isBubble:!0,keysAffectYAxis:["y"],pointArrayMap:["y","z"],pointClass:ir,parallelArrays:["x","y","z"],trackerGroups:["group","dataLabelsGroup"],specialGroup:"group",zoneAxis:"z"}),ic(iP,"updatedData",t=>{delete t.target.chart.bubbleZExtremes}),ic(iP,"remove",t=>{delete t.target.chart.bubbleZExtremes}),E().registerSeriesType("bubble",iP);let ij=iP,{seriesTypes:{map:{prototype:{pointClass:{prototype:iL}}}}}=E(),{extend:iC}=c();class iA extends ir{isValid(){return"number"==typeof this.z}}iC(iA.prototype,{applyOptions:iL.applyOptions,getProjectedBounds:iL.getProjectedBounds});let{seriesTypes:{map:{prototype:ik},mappoint:{prototype:iz}}}=E(),{extend:iB,merge:iS}=c();class iE extends ij{constructor(){super(...arguments),this.clearBounds=ik.clearBounds}searchPoint(t,e){return this.searchKDTree({plotX:t.chartX-this.chart.plotLeft,plotY:t.chartY-this.chart.plotTop},e,t)}translate(){iz.translate.call(this),this.getRadii(),this.translateBubble()}}iE.defaultOptions=iS(ij.defaultOptions,{lineWidth:0,animationLimit:500,joinBy:"hc-key",tooltip:{pointFormat:"{point.name}: {point.z}"}}),iB(iE.prototype,{type:"mapbubble",axisTypes:["colorAxis"],getProjectedBounds:ik.getProjectedBounds,isCartesian:!1,pointArrayMap:["z"],pointClass:iA,processData:ik.processData,projectPoint:iz.projectPoint,kdAxisArray:["plotX","plotY"],setData:ik.setData,setOptions:ik.setOptions,updateData:ik.updateData,useMapGeometry:!0,xyFromShape:!0}),E().registerSeriesType("mapbubble",iE);let iO=e.default.Color;var iD=p.n(iO);let{scatter:{prototype:{pointClass:iV}}}=E().seriesTypes,{clamp:iI,defined:iN,extend:iX,pick:iG}=c();class iR extends iV{applyOptions(t,e){return(this.isNull||null===this.value)&&delete this.color,super.applyOptions(t,e),this.formatPrefix=this.isNull||null===this.value?"null":"point",this}getCellAttributes(){let t=this.series,e=t.options,i=(e.colsize||1)/2,o=(e.rowsize||1)/2,s=t.xAxis,r=t.yAxis,a=this.options.marker||t.options.marker,n=t.pointPlacementToXValue(),l=iG(this.pointPadding,e.pointPadding,0),h={x1:iI(Math.round(s.len-s.translate(this.x-i,!1,!0,!1,!0,-n)),-s.len,2*s.len),x2:iI(Math.round(s.len-s.translate(this.x+i,!1,!0,!1,!0,-n)),-s.len,2*s.len),y1:iI(Math.round(r.translate(this.y-o,!1,!0,!1,!0)),-r.len,2*r.len),y2:iI(Math.round(r.translate(this.y+o,!1,!0,!1,!0)),-r.len,2*r.len)};for(let t of[["width","x"],["height","y"]]){let e=t[0],i=t[1],o=i+"1",n=i+"2",p=Math.abs(h[o]-h[n]),d=a&&a.lineWidth||0,c=Math.abs(h[o]+h[n])/2,u=a&&a[e];if(iN(u)&&u<p){let t=u/2+d/2;h[o]=c-t,h[n]=c+t}l&&(("x"===i&&s.reversed||"y"===i&&!r.reversed)&&(o=n,n=i+"1"),h[o]+=l,h[n]-=l)}return h}haloPath(t){if(!t)return[];let{x:e=0,y:i=0,width:o=0,height:s=0}=this.shapeArgs||{};return[["M",e-t,i-t],["L",e-t,i+s+t],["L",e+o+t,i+s+t],["L",e+o+t,i-t],["Z"]]}isValid(){return this.value!==1/0&&this.value!==-1/0}}iX(iR.prototype,{dataLabelOnNull:!0,moveToTopOnHover:!0,ttBelow:!1});let{isNumber:iY}=c(),{doc:iF}=c(),{defined:iU,pick:iZ}=c(),{series:iW,seriesTypes:{column:iH,scatter:i_}}=E(),{prototype:{symbols:iq}}=Q(),{addEvent:i$,extend:iK,fireEvent:iJ,isNumber:iQ,merge:i0,pick:i1}=c(),{colorFromPoint:i2,getContext:i6}={colorFromPoint:function(t,e){let i=e.series.colorAxis;if(i){let o=i.toColor(t||0,e).split(")")[0].split("(")[1].split(",").map(t=>iZ(parseFloat(t),parseInt(t,10)));return o[3]=255*iZ(o[3],1),iU(t)&&e.visible||(o[3]=0),o}return[0,0,0,0]},getContext:function(t){let{canvas:e,context:i}=t;return e&&i?(i.clearRect(0,0,e.width,e.height),i):(t.canvas=iF.createElement("canvas"),t.context=t.canvas.getContext("2d",{willReadFrequently:!0})||void 0,t.context)}};class i3 extends i_{constructor(){super(...arguments),this.valueMax=NaN,this.valueMin=NaN,this.isDirtyCanvas=!0}drawPoints(){let t=this,e=t.options,i=e.interpolation,o=e.marker||{};if(i){let{image:e,chart:i,xAxis:o,yAxis:s}=t,{reversed:r=!1,len:a}=o,{reversed:n=!1,len:l}=s,h={width:a,height:l};if(!e||t.isDirtyData||t.isDirtyCanvas){let a=i6(t),{canvas:l,options:{colsize:p=1,rowsize:d=1},points:c,points:{length:u}}=t,m=i.colorAxis&&i.colorAxis[0];if(l&&a&&m){let{min:m,max:g}=o.getExtremes(),{min:b,max:f}=s.getExtremes(),y=g-m,x=f-b,M=Math.round(y/p/8*8),v=Math.round(x/d/8*8),[w,T]=[[M,M/y,r,"ceil"],[v,v/x,!n,"floor"]].map(([t,e,i,o])=>i?i=>Math[o](t-e*i):t=>Math[o](e*t)),P=l.width=M+1,j=P*(l.height=v+1),L=(u-1)/j,C=new Uint8ClampedArray(4*j),A=(t,e)=>4*Math.ceil(P*T(e-b)+w(t-m));t.buildKDTree();for(let t=0;t<j;t++){let e=c[Math.ceil(L*t)],{x:i,y:o}=e;C.set(i2(e.value,e),A(i,o))}a.putImageData(new ImageData(C,P),0,0),e?e.attr({...h,href:l.toDataURL("image/png",1)}):(t.directTouch=!1,t.image=i.renderer.image(l.toDataURL("image/png",1)).attr(h).add(t.group))}t.isDirtyCanvas=!1}else(e.width!==a||e.height!==l)&&e.attr(h)}else(o.enabled||t._hasPointMarkers)&&(iW.prototype.drawPoints.call(t),t.points.forEach(e=>{e.graphic&&(e.graphic[t.chart.styledMode?"css":"animate"](t.colorAttribs(e)),null===e.value&&e.graphic.addClass("highcharts-null-point"))}))}getExtremes(){let{dataMin:t,dataMax:e}=iW.prototype.getExtremes.call(this,this.getColumn("value"));return iQ(t)&&(this.valueMin=t),iQ(e)&&(this.valueMax=e),iW.prototype.getExtremes.call(this)}getValidPoints(t,e){return iW.prototype.getValidPoints.call(this,t,e,!0)}hasData(){return!!this.dataTable.rowCount}init(){super.init.apply(this,arguments);let t=this.options;t.pointRange=i1(t.pointRange,t.colsize||1),this.yAxis.axisPointRange=t.rowsize||1,iq.ellipse=iq.circle,t.marker&&iQ(t.borderRadius)&&(t.marker.r=t.borderRadius)}markerAttribs(t,e){let i=t.shapeArgs||{};if(t.hasImage)return{x:t.plotX,y:t.plotY};if(e&&"normal"!==e){let o=t.options.marker||{},s=this.options.marker||{},r=s.states?.[e]||{},a=o.states?.[e]||{},n=(a.width||r.width||i.width||0)+(a.widthPlus||r.widthPlus||0),l=(a.height||r.height||i.height||0)+(a.heightPlus||r.heightPlus||0);return{x:(i.x||0)+((i.width||0)-n)/2,y:(i.y||0)+((i.height||0)-l)/2,width:n,height:l}}return i}pointAttribs(t,e){let i=iW.prototype.pointAttribs.call(this,t,e),o=this.options||{},s=this.chart.options.plotOptions||{},r=s.series||{},a=s.heatmap||{},n=t?.options.borderColor||o.borderColor||a.borderColor||r.borderColor,l=t?.options.borderWidth||o.borderWidth||a.borderWidth||r.borderWidth||i["stroke-width"];if(i.stroke=t?.marker?.lineColor||o.marker?.lineColor||n||this.color,i["stroke-width"]=l,e&&"normal"!==e){let s=i0(o.states?.[e],o.marker?.states?.[e],t?.options.states?.[e]||{});i.fill=s.color||iD().parse(i.fill).brighten(s.brightness||0).get(),i.stroke=s.lineColor||i.stroke}return i}translate(){let{borderRadius:t,marker:e}=this.options,i=e?.symbol||"rect",o=iq[i]?i:"rect",s=-1!==["circle","square"].indexOf(o);for(let e of(this.generatePoints(),this.points)){let r=e.getCellAttributes(),a=Math.min(r.x1,r.x2),n=Math.min(r.y1,r.y2),l=Math.max(Math.abs(r.x2-r.x1),0),h=Math.max(Math.abs(r.y2-r.y1),0);if(e.hasImage=0===(e.marker?.symbol||i||"").indexOf("url"),s){let t=Math.abs(l-h);a=Math.min(r.x1,r.x2)+(l<h?0:t/2),n=Math.min(r.y1,r.y2)+(l<h?t/2:0),l=h=Math.min(l,h)}e.hasImage&&(e.marker={width:l,height:h}),e.plotX=e.clientX=(r.x1+r.x2)/2,e.plotY=(r.y1+r.y2)/2,e.shapeType="path",e.shapeArgs=i0(!0,{x:a,y:n,width:l,height:h},{d:iq[o](a,n,l,h,{r:iQ(t)?t:0})})}iJ(this,"afterTranslate")}}i3.defaultOptions=i0(i_.defaultOptions,{animation:!1,borderRadius:0,borderWidth:0,interpolation:!1,nullColor:"#f7f7f7",dataLabels:{formatter:function(){let{numberFormatter:t}=this.series.chart,{value:e}=this.point;return iY(e)?t(e,-1):""},inside:!0,verticalAlign:"middle",crop:!1,overflow:"allow",padding:0},marker:{symbol:"rect",radius:0,lineColor:void 0,states:{hover:{lineWidthPlus:0},select:{}}},clip:!0,pointRange:null,tooltip:{pointFormat:"{point.x}, {point.y}: {point.value}<br/>"},states:{hover:{halo:!1,brightness:.2}},legendSymbol:"rectangle"}),i$(i3,"afterDataClassLegendClick",function(){this.isDirtyCanvas=!0,this.drawPoints()}),iK(i3.prototype,{axisTypes:R.seriesMembers.axisTypes,colorKey:R.seriesMembers.colorKey,directTouch:!0,getExtremesFromAll:!0,keysAffectYAxis:["y"],parallelArrays:R.seriesMembers.parallelArrays,pointArrayMap:["y","value"],pointClass:iR,specialGroup:"group",trackerGroups:R.seriesMembers.trackerGroups,alignDataLabel:iH.prototype.alignDataLabel,colorAttribs:R.seriesMembers.colorAttribs,getSymbol:iW.prototype.getSymbol}),R.compose(i3),E().registerSeriesType("heatmap",i3);let i8=c();i8.ColorMapComposition=R,i8.MapChart=i8.MapChart||tr,i8.MapNavigation=i8.MapNavigation||B,i8.MapView=i8.MapView||ea,i8.Projection=i8.Projection||t$,i8.mapChart=i8.Map=i8.MapChart.mapChart,i8.maps=i8.MapChart.maps,i8.geojson=tT.geojson,i8.topo2geo=tT.topo2geo,tT.compose(i8.Chart),iE.compose(i8.Axis,i8.Chart,i8.Legend),B.compose(tr,i8.Pointer,i8.SVGRenderer),ea.compose(tr);let i7=c();export{i7 as default};
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Highmaps JS v12.2.0 (2025-04-07)
2
+ * @license Highmaps JS v12.3.0 (2025-06-21)
3
3
  * @module highcharts/modules/map
4
4
  * @requires highcharts
5
5
  *
@@ -719,7 +719,7 @@ class MapNavigation {
719
719
  // Check the mapNavigation buttons collision with exporting button
720
720
  // and translate the mapNavigation button if they overlap.
721
721
  const adjustMapNavBtn = function () {
722
- const expBtnBBox = chart.exportingGroup?.getBBox();
722
+ const expBtnBBox = chart.exporting?.group?.getBBox();
723
723
  if (expBtnBBox) {
724
724
  const navBtnsBBox = mapNav.navButtonsGroup.getBBox();
725
725
  // If buttons overlap
@@ -7588,8 +7588,8 @@ class BubblePoint extends BubblePoint_ScatterPoint {
7588
7588
  0 :
7589
7589
  0) + size;
7590
7590
  if (this.series.chart.inverted) {
7591
- const pos = this.pos() || [0, 0], { xAxis, yAxis, chart } = this.series;
7592
- return chart.renderer.symbols.circle(xAxis.len - pos[1] - computedSize, yAxis.len - pos[0] - computedSize, computedSize * 2, computedSize * 2);
7591
+ const pos = this.pos() || [0, 0], { xAxis, yAxis, chart } = this.series, diameter = computedSize * 2;
7592
+ return chart.renderer.symbols.circle((xAxis?.len || 0) - pos[1] - computedSize, (yAxis?.len || 0) - pos[0] - computedSize, diameter, diameter);
7593
7593
  }
7594
7594
  return external_highcharts_src_js_default_Point_default().prototype.haloPath.call(this,
7595
7595
  // #6067
@@ -9110,8 +9110,7 @@ const HeatmapSeriesDefaults = {
9110
9110
  /** @ignore-option */
9111
9111
  halo: false, // #3406, halo is disabled on heatmaps by default
9112
9112
  /**
9113
- * How much to brighten the point on interaction. Requires the
9114
- * main color to be defined in hex or rgb(a) format.
9113
+ * How much to brighten the point on interaction.
9115
9114
  *
9116
9115
  * In styled mode, the hover brightening is by default replaced
9117
9116
  * with a fill-opacity set in the `.highcharts-point:hover`
@@ -1 +1,11 @@
1
- let t;import*as e from"../highcharts.js";var i,s,a={};a.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return a.d(e,{a:e}),e},a.d=(t,e)=>{for(var i in e)a.o(e,i)&&!a.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},a.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);let r=e.default;var o=a.n(r);let n={cluster:{enabled:!1,allowOverlap:!0,animation:{duration:500},drillToCluster:!0,minimumClusterSize:2,layoutAlgorithm:{gridSize:50,distance:40,kmeansThreshold:100},marker:{symbol:"cluster",radius:15,lineWidth:0,lineColor:"#ffffff"},dataLabels:{enabled:!0,format:"{point.clusterPointsAmount}",verticalAlign:"middle",align:"center",style:{color:"contrast"},inside:!0}},tooltip:{clusterFormat:"<span>Clustered points: {point.clusterPointsAmount}</span><br/>"}};(i=s||(s={})).setLength=function(t,e,i){return Array.isArray(t)?(t.length=e,t):t[i?"subarray":"slice"](0,e)},i.splice=function(t,e,i,s,a=[]){if(Array.isArray(t))return Array.isArray(a)||(a=Array.from(a)),{removed:t.splice(e,i,...a),array:t};let r=Object.getPrototypeOf(t).constructor,o=t[s?"subarray":"slice"](e,e+i),n=new r(t.length-i+a.length);return n.set(t.subarray(0,e),0),n.set(a,e),n.set(t.subarray(e+i),e+a.length),{removed:o,array:n}};let{setLength:l,splice:p}=s,{fireEvent:u,objectEach:h,uniqueKey:d}=o(),c=class{constructor(t={}){this.autoId=!t.id,this.columns={},this.id=t.id||d(),this.modified=this,this.rowCount=0,this.versionTag=d();let e=0;h(t.columns||{},(t,i)=>{this.columns[i]=t.slice(),e=Math.max(e,t.length)}),this.applyRowCount(e)}applyRowCount(t){this.rowCount=t,h(this.columns,(e,i)=>{e.length!==t&&(this.columns[i]=l(e,t))})}deleteRows(t,e=1){if(e>0&&t<this.rowCount){let i=0;h(this.columns,(s,a)=>{this.columns[a]=p(s,t,e).array,i=s.length}),this.rowCount=i}u(this,"afterDeleteRows",{rowIndex:t,rowCount:e}),this.versionTag=d()}getColumn(t,e){return this.columns[t]}getColumns(t,e){return(t||Object.keys(this.columns)).reduce((t,e)=>(t[e]=this.columns[e],t),{})}getRow(t,e){return(e||Object.keys(this.columns)).map(e=>this.columns[e]?.[t])}setColumn(t,e=[],i=0,s){this.setColumns({[t]:e},i,s)}setColumns(t,e,i){let s=this.rowCount;h(t,(t,e)=>{this.columns[e]=t.slice(),s=t.length}),this.applyRowCount(s),i?.silent||(u(this,"afterSetColumns"),this.versionTag=d())}setRow(t,e=this.rowCount,i,s){let{columns:a}=this,r=i?this.rowCount+1:e+1;h(t,(t,o)=>{let n=a[o]||s?.addColumns!==!1&&Array(r);n&&(i?n=p(n,e,0,!0,[t]).array:n[e]=t,a[o]=n)}),r>this.rowCount&&this.applyRowCount(r),s?.silent||(u(this,"afterSetRows"),this.versionTag=d())}},{animObject:m}=o(),{cluster:f}=n,{addEvent:g,defined:x,error:y,isArray:C,isFunction:k,isObject:I,isNumber:M,merge:b,objectEach:S,relativeLength:A,syncTimeout:w}=o(),P={grid:function(t,e,i,s){let a,r,o,n,l,p={},u=this.getGridOffset(),h=this.getScaledGridSize(s);for(l=0;l<t.length;l++){let s=Q(this,{x:t[l],y:e[l]});a=s.x-u.plotLeft,r=s.y-u.plotTop,o=Math.floor(a/h),p[n=Math.floor(r/h)+":"+o]??(p[n]=[]),p[n].push({dataIndex:i[l],x:t[l],y:e[l]})}return p},kmeans:function(t,e,i,s){let a=[],r=[],o={},n=s.processedDistance||f.layoutAlgorithm.distance,l=s.iterations,p=0,u=!0,h=0,d=0,c,m=[];s.processedGridSize=s.processedDistance;let g=this.markerClusterAlgorithms?this.markerClusterAlgorithms.grid.call(this,t,e,i,s):{};for(let t in g)g[t].length>1&&(c=T(g[t]),a.push({posX:c.x,posY:c.y,oldX:0,oldY:0,startPointsLen:g[t].length,points:[]}));for(;u;){for(let t of a)t.points.length=0;r.length=0;for(let s=0;s<t.length;s++)h=t[s],d=e[s],(m=this.getClusterDistancesFromPoint(a,h,d)).length&&m[0].distance<n?a[m[0].clusterIndex].points.push({x:h,y:d,dataIndex:i[s]}):r.push({x:h,y:d,dataIndex:i[s]});for(let t=0;t<a.length;t++)1===a[t].points.length&&(m=this.getClusterDistancesFromPoint(a,a[t].points[0].x,a[t].points[0].y))[1].distance<n&&(a[m[1].clusterIndex].points.push(a[t].points[0]),a[m[0].clusterIndex].points.length=0);u=!1;for(let t=0;t<a.length;t++)c=T(a[t].points),a[t].oldX=a[t].posX,a[t].oldY=a[t].posY,a[t].posX=c.x,a[t].posY=c.y,(a[t].posX>a[t].oldX+1||a[t].posX<a[t].oldX-1||a[t].posY>a[t].oldY+1||a[t].posY<a[t].oldY-1)&&(u=!0);l&&(u=p<l-1),p++}for(let t=0,e=a.length;t<e;++t)o["cluster"+t]=a[t].points;for(let t=0,e=r.length;t<e;++t)o["noise"+t]=[r[t]];return o},optimizedKmeans:function(t,e,i,s){let a=s.processedDistance||f.layoutAlgorithm.gridSize,r=this.getRealExtremes(),o=(this.options.cluster||{}).marker,n,l={},p,u;if(!this.markerClusterInfo||this.initMaxX&&this.initMaxX<r.maxX||this.initMinX&&this.initMinX>r.minX||this.initMaxY&&this.initMaxY<r.maxY||this.initMinY&&this.initMinY>r.minY)this.initMaxX=r.maxX,this.initMinX=r.minX,this.initMaxY=r.maxY,this.initMinY=r.minY,l=this.markerClusterAlgorithms?this.markerClusterAlgorithms.kmeans.call(this,t,e,i,s):{},this.baseClusters=null;else{for(let t of(this.baseClusters??(this.baseClusters={clusters:this.markerClusterInfo.clusters,noise:this.markerClusterInfo.noise}),this.baseClusters.clusters)){for(let e of(t.pointsOutside=[],t.pointsInside=[],t.data)){let i=Q(this,e),s=Q(this,t);n=Math.sqrt(Math.pow(i.x-s.x,2)+Math.pow(i.y-s.y,2)),p=a-(u=t.clusterZone?.marker?.radius?t.clusterZone.marker.radius:o?.radius?o.radius:f.marker.radius)>=0?a-u:u,n>u+p&&x(t.pointsOutside)?t.pointsOutside.push(e):x(t.pointsInside)&&t.pointsInside.push(e)}t.pointsInside.length&&(l[t.id]=t.pointsInside);let e=0;for(let i of t.pointsOutside)l[t.id+"_noise"+e++]=[i]}for(let t of this.baseClusters.noise)l[t.id]=t.data}return l}},X,Y=[],L=0;function z(t,e,i){t.attr({opacity:e}).animate({opacity:1},i)}function D(t,e,i,s){for(let a of(O(t,s,i,!0,!0),e))a.point?.destroy?.()}function O(t,e,i,s,a){t.point&&(s&&t.point.graphic&&(t.point.graphic.show(),z(t.point.graphic,e,i)),a&&t.point.dataLabel&&(t.point.dataLabel.show(),z(t.point.dataLabel,e,i)))}function T(t){let e=t.length,i=0,s=0;for(let a=0;a<e;a++)i+=t[a].x,s+=t[a].y;return{x:i/e,y:s/e}}function v(t,e){let i=[];return i.length=e,t.clusters.forEach(function(t){t.data.forEach(function(t){i[t.dataIndex]=t})}),t.noise.forEach(function(t){i[t.data[0].dataIndex]=t.data[0]}),i}function R(){return Math.random().toString(36).substring(2,7)+"-"+L++}function V(t,e,i){t.point&&(e&&t.point.graphic&&t.point.graphic.hide(),i&&t.point.dataLabel&&t.point.dataLabel.hide())}function E(t){(t.point||t.target).firePointEvent("drillToCluster",t,function(t){let e=t.point||t.target,i=e.series,{xAxis:s,yAxis:a,chart:r}=i,{inverted:o,mapView:n,pointer:l}=r;if(i.options.cluster?.drillToCluster&&e.clusteredData){let t=e.clusteredData.map(t=>t.x).sort((t,e)=>t-e),i=e.clusteredData.map(t=>t.y).sort((t,e)=>t-e),p=t[0],u=t[t.length-1],h=i[0],d=i[i.length-1],c=Math.abs((u-p)*.1),m=Math.abs((d-h)*.1),f=Math.min(p,u)-c,g=Math.max(p,u)+c,x=Math.min(h,d)-m,y=Math.max(h,d)+m;if(n)n.fitToBounds({x1:f,x2:g,y1:x,y2:y});else if(s&&a){let t=s.toPixels(f),e=s.toPixels(g),i=a.toPixels(x),n=a.toPixels(y);o&&([t,e,i,n]=[i,n,t,e]),t>e&&([t,e]=[e,t]),i>n&&([i,n]=[n,i]),l&&(l.zoomX=!0,l.zoomY=!0),r.transform({from:{x:t,y:i,width:e-t,height:n-i}})}}})}function j(t,e){let{chart:i,xAxis:s,yAxis:a}=t;return i.mapView?i.mapView.pixelsToProjectedUnits(e):{x:s?s.toValue(e.x):0,y:a?a.toValue(e.y):0}}function G(t){let e=this.chart,i=e.mapView,s=m(this.options.cluster?.animation),a=s.duration||500,r=this.markerClusterInfo?.pointsState,o=r?.newState,n=r?.oldState,l=[],p,u,h,d=0,c=0,f=0,g=!1,x=!1;if(n&&o){let r=Q(this,u=o[t.stateId]);c=r.x-(i?0:e.plotLeft),f=r.y-(i?0:e.plotTop),1===u.parentsId.length?(p=n[o?.[t.stateId].parentsId[0]],u.point?.graphic&&p.point?.plotX&&p.point.plotY&&(p.point.plotX!==u.point.plotX||p.point.plotY!==u.point.plotY)&&(h=u.point.graphic.getBBox(),d=u.point.graphic?.isImg?0:h.width/2,u.point.graphic.attr({x:p.point.plotX-d,y:p.point.plotY-d}),u.point.graphic.animate({x:c-(u.point.graphic.radius||0),y:f-(u.point.graphic.radius||0)},s,function(){x=!0,p.point?.destroy?.()}),u.point.dataLabel?.alignAttr&&p.point.dataLabel?.alignAttr&&(u.point.dataLabel.attr({x:p.point.dataLabel.alignAttr.x,y:p.point.dataLabel.alignAttr.y}),u.point.dataLabel.animate({x:u.point.dataLabel.alignAttr.x,y:u.point.dataLabel.alignAttr.y},s)))):0===u.parentsId.length?(V(u,!0,!0),w(function(){O(u,.1,s,!0,!0)},a/2)):(V(u,!0,!0),u.parentsId.forEach(function(t){n?.[t]&&(p=n[t],l.push(p),p.point?.graphic&&(g=!0,p.point.graphic.show(),p.point.graphic.animate({x:c-(p.point.graphic.radius||0),y:f-(p.point.graphic.radius||0),opacity:.4},s,function(){x=!0,D(u,l,s,.7)}),p.point.dataLabel&&-9999!==p.point.dataLabel.y&&u.point?.dataLabel?.alignAttr&&(p.point.dataLabel.show(),p.point.dataLabel.animate({x:u.point.dataLabel.alignAttr.x,y:u.point.dataLabel.alignAttr.y,opacity:.4},s))))}),w(function(){x||D(u,l,s,.85)},a),g||w(function(){D(u,l,s,.1)},a/2))}}function F(){this.markerClusterSeriesData?.forEach(t=>{t?.destroy?.()}),this.markerClusterSeriesData=null}function W(){let t,e,i,s,a,r,o,n,l,p,u,h,d,m,y,C,I=this,{chart:b}=I,S=b.mapView,w=I.getColumn("x"),P=I.getColumn("y"),Y=I.options.cluster,L=I.getRealExtremes(),z=[],D=[],O=[];if(S&&I.is("mappoint")&&w&&P&&I.options.data?.forEach((t,e)=>{let i=I.projectPoint(t);i&&(w[e]=i.x,P[e]=i.y)}),Y?.enabled&&w?.length&&P?.length&&!b.polar){u=Y.layoutAlgorithm.type,(y=Y.layoutAlgorithm).processedGridSize=A(y.gridSize||f.layoutAlgorithm.gridSize,b.plotWidth),y.processedDistance=A(y.distance||f.layoutAlgorithm.distance,b.plotWidth),s=y.kmeansThreshold||f.layoutAlgorithm.kmeansThreshold;let h=y.processedGridSize/2,S=j(I,{x:0,y:0}),T=j(I,{x:h,y:h});a=Math.abs(S.x-T.x),r=Math.abs(S.y-T.y);for(let t=0;t<w.length;t++)!I.dataMaxX&&(x(n)&&x(o)&&x(p)&&x(l)?M(P[t])&&M(p)&&M(l)&&(n=Math.max(w[t],n),o=Math.min(w[t],o),p=Math.max(P[t]||p,p),l=Math.min(P[t]||l,l)):(n=o=w[t],p=l=P[t])),w[t]>=L.minX-a&&w[t]<=L.maxX+a&&(P[t]||L.minY)>=L.minY-r&&(P[t]||L.maxY)<=L.maxY+r&&(z.push(w[t]),D.push(P[t]),O.push(t));x(n)&&x(o)&&M(p)&&M(l)&&(I.dataMaxX=n,I.dataMinX=o,I.dataMaxY=p,I.dataMinY=l),d=(m=(k(u)?u:I.markerClusterAlgorithms?u&&I.markerClusterAlgorithms[u]?I.markerClusterAlgorithms[u]:z.length<s?I.markerClusterAlgorithms.kmeans:I.markerClusterAlgorithms.grid:()=>!1).call(this,z,D,O,y))?I.getClusteredData(m,Y):m,Y.animation&&I.markerClusterInfo?.pointsState?.oldState?(function(t){for(let e of Object.keys(t))t[e].point?.destroy?.()}(I.markerClusterInfo.pointsState.oldState),t=I.markerClusterInfo.pointsState.newState):t={},e=w.length,i=I.markerClusterInfo,d&&(I.dataTable.modified=new c({columns:{x:d.groupedXData,y:d.groupedYData}}),I.hasGroupedData=!0,I.markerClusterInfo=d,I.groupMap=d.groupMap),X.apply(this),d&&I.markerClusterInfo&&(I.markerClusterInfo.clusters?.forEach(t=>{(C=I.points[t.index]).isCluster=!0,C.clusteredData=t.data,C.clusterPointsAmount=t.data.length,t.point=C,g(C,"click",E)}),I.markerClusterInfo.noise?.forEach(t=>{t.point=I.points[t.index]}),Y.animation&&I.markerClusterInfo&&(I.markerClusterInfo.pointsState={oldState:t,newState:I.getPointsState(d,i,e)}),Y.animation?this.hideClusteredData():this.destroyClusteredData(),this.markerClusterSeriesData=this.hasGroupedData?this.points:null)}else X.apply(this)}function Z(t,e,i){let s=[];for(let a=0;a<t.length;a++){let r=Q(this,{x:e,y:i}),o=Q(this,{x:t[a].posX,y:t[a].posY}),n=Math.sqrt(Math.pow(r.x-o.x,2)+Math.pow(r.y-o.y,2));s.push({clusterIndex:a,distance:n})}return s.sort((t,e)=>t.distance-e.distance)}function _(t,e){let i=this.options.data,s=[],a=[],r=[],o=[],n=[],l=Math.max(2,e.minimumClusterSize||2),p=0,u,h,d,c,m,g,x,M,S,A,w,P;if(k(e.layoutAlgorithm.type)&&!this.isValidGroupedDataObject(t))return y("Highcharts marker-clusters module: The custom algorithm result is not valid!",!1,this.chart),!1;for(let y in t)if(t[y].length>=l){if(d=t[y],u=R(),m=d.length,e.zones)for(let t=0;t<e.zones.length;t++)m>=e.zones[t].from&&m<=e.zones[t].to&&((w=e.zones[t]).zoneIndex=t,A=e.zones[t].marker,P=e.zones[t].className);S=T(d),"grid"!==e.layoutAlgorithm.type||e.allowOverlap?x={x:S.x,y:S.y}:(g=this.options.marker||{},x=this.preventClusterCollisions({x:S.x,y:S.y,key:y,groupedData:t,gridSize:this.getScaledGridSize(e.layoutAlgorithm),defaultRadius:g.radius||3+(g.lineWidth||0),clusterRadius:A&&A.radius?A.radius:(e.marker||{}).radius||f.marker.radius}));for(let t=0;t<m;t++)d[t].parentStateId=u;if(r.push({x:x.x,y:x.y,id:y,stateId:u,index:p,data:d,clusterZone:w,clusterZoneClassName:P}),s.push(x.x),a.push(x.y),n.push({options:{formatPrefix:"cluster",dataLabels:e.dataLabels,marker:b(e.marker,{states:e.states},A||{})}}),i?.length)for(let t=0;t<m;t++)I(i[d[t].dataIndex])&&(d[t].options=i[d[t].dataIndex]);p++,A=null}else for(let e=0;e<t[y].length;e++)h=t[y][e],u=R(),M=null,c=i?.[h.dataIndex],s.push(h.x),a.push(h.y),h.parentStateId=u,o.push({x:h.x,y:h.y,id:y,stateId:u,index:p,data:t[y]}),M=c&&"object"==typeof c&&!C(c)?b(c,{x:h.x,y:h.y}):{userOptions:c,x:h.x,y:h.y},n.push({options:M}),p++;return{clusters:r,noise:o,groupedXData:s,groupedYData:a,groupMap:n}}function B(){let{chart:t,xAxis:e,yAxis:i}=this,s=0,a=0;return{plotLeft:s=e&&this.dataMinX&&this.dataMaxX?e.reversed?e.toPixels(this.dataMaxX):e.toPixels(this.dataMinX):t.plotLeft,plotTop:i&&this.dataMinY&&this.dataMaxY?i.reversed?i.toPixels(this.dataMinY):i.toPixels(this.dataMaxY):t.plotTop}}function H(t,e,i){let s,a,r=e?v(e,i):[],o=v(t,i),n={};Y=[],t.clusters.forEach(t=>{n[t.stateId]={x:t.x,y:t.y,id:t.stateId,point:t.point,parentsId:[]}}),t.noise.forEach(t=>{n[t.stateId]={x:t.x,y:t.y,id:t.stateId,point:t.point,parentsId:[]}});for(let t=0;t<o.length;t++)s=o[t],a=r[t],s?.parentStateId&&a?.parentStateId&&n[s.parentStateId]?.parentsId.indexOf(a.parentStateId)===-1&&(n[s.parentStateId].parentsId.push(a.parentStateId),-1===Y.indexOf(a.parentStateId)&&Y.push(a.parentStateId));return n}function q(){let t=this.chart,e=t.mapView?0:t.plotLeft,i=j(this,{x:e,y:t.mapView?0:t.plotTop}),s=j(this,{x:e+t.plotWidth,y:e+t.plotHeight}),a=i.x,r=s.x,o=i.y,n=s.y;return{minX:Math.min(a,r),maxX:Math.max(a,r),minY:Math.min(o,n),maxY:Math.max(o,n)}}function N(t){let e=this.xAxis,i=this.chart.mapView,s=t.processedGridSize||f.layoutAlgorithm.gridSize,a=!0,r=1,o=1;this.gridValueSize||(i?this.gridValueSize=s/i.getScale():this.gridValueSize=Math.abs(e.toValue(s)-e.toValue(0)));let n=+(s/(i?this.gridValueSize*i.getScale():e.toPixels(this.gridValueSize)-e.toPixels(0))).toFixed(14);for(;a&&1!==n;){let t=Math.pow(2,r);n>.75&&n<1.25?a=!1:n>=1/t&&n<1/t*2?(a=!1,o=t):n<=t&&n>t/2&&(a=!1,o=1/t),r++}return s/o/n}function U(){let t=this.markerClusterSeriesData,e=this.markerClusterInfo?.pointsState?.oldState,i=Y.map(t=>e?.[t].point?.id||"");t?.forEach(t=>{t&&i.indexOf(t.id)!==-1?(t.graphic&&t.graphic.hide(),t.dataLabel&&t.dataLabel.hide()):t?.destroy?.()})}function K(t){let e=!1;return!!I(t)&&(S(t,t=>{if(e=!0,!C(t)||!t.length){e=!1;return}for(let i=0;i<t.length;i++)if(!I(t[i])||!t[i].x||!t[i].y){e=!1;return}}),e)}function J(t){let[e,i]=t.key.split(":").map(parseFloat),s=t.gridSize,a=t.groupedData,r=t.defaultRadius,o=t.clusterRadius,n=i*s,l=e*s,p=Q(this,t),u=[],h=this.options.cluster?.marker,d=this.options.cluster?.zones,c=this.getGridOffset(),m=p.x,g=p.y,y=0,C=0,k,I,M,b,S,A,w,P,X,Y,L,z;m-=c.plotLeft,g-=c.plotTop;for(let a=1;a<5;a++)for(w=0,M=a%2?-1:1,b=a<3?-1:1,S=Math.floor((m+M*o)/s),z=[(A=Math.floor((g+b*o)/s))+":"+S,A+":"+i,e+":"+S];w<z.length;w++)-1===u.indexOf(z[w])&&z[w]!==t.key&&u.push(z[w]);for(let t of u)if(a[t]){a[t].posX||(Y=T(a[t]),a[t].posX=Y.x,a[t].posY=Y.y);let p=Q(this,{x:a[t].posX||0,y:a[t].posY||0});if(k=p.x-c.plotLeft,I=p.y-c.plotTop,[X,P]=t.split(":").map(parseFloat),d){y=a[t].length;for(let t=0;t<d.length;t++)y>=d[t].from&&y<=d[t].to&&(C=x(d[t].marker?.radius)?d[t].marker.radius||0:h?.radius?h.radius:f.marker.radius)}a[t].length>1&&0===C&&h?.radius?C=h.radius:1===a[t].length&&(C=r),L=o+C,C=0,P!==i&&Math.abs(m-k)<L&&(m=P-i<0?n+o:n+s-o),X!==e&&Math.abs(g-I)<L&&(g=X-e<0?l+o:l+s-o)}let D=j(this,{x:m+c.plotLeft,y:g+c.plotTop});return a[t.key].posX=D.x,a[t.key].posY=D.y,D}function Q(t,e){let{chart:i,xAxis:s,yAxis:a}=t;return i.mapView?i.mapView.projectedUnitsToPixels(e):{x:s?s.toPixels(e.x):0,y:a?a.toPixels(e.y):0}}let $={compose:function(t,e){let i=e.prototype;!i.markerClusterAlgorithms&&(X=i.generatePoints,i.markerClusterAlgorithms=P,i.animateClusterPoint=G,i.destroyClusteredData=F,i.generatePoints=W,i.getClusterDistancesFromPoint=Z,i.getClusteredData=_,i.getGridOffset=B,i.getPointsState=H,i.getRealExtremes=q,i.getScaledGridSize=N,i.hideClusteredData=U,i.isValidGroupedDataObject=K,i.preventClusterCollisions=J,g(e,"destroy",i.destroyClusteredData),t.plotOptions&&(t.plotOptions.series=b(t.plotOptions.series,n)))}},{animObject:tt}=o(),{defaultOptions:te}=o(),{composed:ti}=o(),{addEvent:ts,defined:ta,error:tr,isFunction:to,merge:tn,pushUnique:tl,syncTimeout:tp}=o();function tu(){let t=this.chart,e=0;for(let i of t.series)i.markerClusterInfo&&(e=tt((i.options.cluster||{}).animation).duration||0);tp(()=>{t.tooltip&&t.tooltip.destroy()},e)}function th(){for(let t of this.series||[])if(t.markerClusterInfo){let e=t.options.cluster,i=((t.markerClusterInfo||{}).pointsState||{}).oldState;if((e||{}).animation&&t.markerClusterInfo&&0===(t.chart.pointer?.pinchDown||[]).length&&"pan"!==((t.xAxis||{}).eventArgs||{}).trigger&&i&&Object.keys(i).length){for(let e of t.markerClusterInfo.clusters)t.animateClusterPoint(e);for(let e of t.markerClusterInfo.noise)t.animateClusterPoint(e)}}}function td(t){let e=(((t.point||t.target).series.options.cluster||{}).events||{}).drillToCluster;to(e)&&e.call(this,t)}function tc(){if(this.dataGroup)return tr("Highcharts marker-clusters module: Running `Point.update` when point belongs to clustered series is not supported.",!1,this.series.chart),!1}function tm(){let t=(this.options.cluster||{}).drillToCluster;if(this.markerClusterInfo&&this.markerClusterInfo.clusters)for(let e of this.markerClusterInfo.clusters)e.point&&e.point.graphic&&(e.point.graphic.addClass("highcharts-cluster-point"),t&&e.point&&(e.point.graphic.css({cursor:"pointer"}),e.point.dataLabel&&e.point.dataLabel.css({cursor:"pointer"})),ta(e.clusterZone)&&e.point.graphic.addClass(e.clusterZoneClassName||"highcharts-cluster-zone-"+e.clusterZone.zoneIndex))}function tf(e,i,s,a){let r=s/2,o=a/2,n=t.arc(e+r,i+o,r-4,o-4,{start:.5*Math.PI,end:2.5*Math.PI,open:!1}),l=t.arc(e+r,i+o,r-3,o-3,{start:.5*Math.PI,end:2.5*Math.PI,innerR:r-2,open:!1});return t.arc(e+r,i+o,r-1,o-1,{start:.5*Math.PI,end:2.5*Math.PI,innerR:r,open:!1}).concat(l,n)}(te.plotOptions||{}).series=tn((te.plotOptions||{}).series,n);let tg=o();({compose:function(t,e,i,s){if(tl(ti,"MarkerClusters")){let a=s.prototype.pointClass,{scatter:r}=s.types;ts(t,"setExtremes",tu),ts(e,"render",th),ts(a,"drillToCluster",td),ts(a,"update",tc),ts(s,"afterRender",tm),r&&$.compose(i,r)}}}).compose(tg.Axis,tg.Chart,tg.defaultOptions,tg.Series),({compose:function(e){(t=e.prototype.symbols).cluster=tf}}).compose(tg.SVGRenderer);let tx=o();export{tx as default};
1
+ /**
2
+ * Highcharts JS v12.3.0 (2025-06-21)
3
+ * @module highcharts/modules/marker-clusters
4
+ * @requires highcharts
5
+ *
6
+ * Marker clusters module for Highcharts
7
+ *
8
+ * (c) 2010-2025 Wojciech Chmiel
9
+ *
10
+ * License: www.highcharts.com/license
11
+ */let t;import*as e from"../highcharts.js";var i,s,a={};a.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return a.d(e,{a:e}),e},a.d=(t,e)=>{for(var i in e)a.o(e,i)&&!a.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},a.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);let r=e.default;var o=a.n(r);let n={cluster:{enabled:!1,allowOverlap:!0,animation:{duration:500},drillToCluster:!0,minimumClusterSize:2,layoutAlgorithm:{gridSize:50,distance:40,kmeansThreshold:100},marker:{symbol:"cluster",radius:15,lineWidth:0,lineColor:"#ffffff"},dataLabels:{enabled:!0,format:"{point.clusterPointsAmount}",verticalAlign:"middle",align:"center",style:{color:"contrast"},inside:!0}},tooltip:{clusterFormat:"<span>Clustered points: {point.clusterPointsAmount}</span><br/>"}};(i=s||(s={})).setLength=function(t,e,i){return Array.isArray(t)?(t.length=e,t):t[i?"subarray":"slice"](0,e)},i.splice=function(t,e,i,s,a=[]){if(Array.isArray(t))return Array.isArray(a)||(a=Array.from(a)),{removed:t.splice(e,i,...a),array:t};let r=Object.getPrototypeOf(t).constructor,o=t[s?"subarray":"slice"](e,e+i),n=new r(t.length-i+a.length);return n.set(t.subarray(0,e),0),n.set(a,e),n.set(t.subarray(e+i),e+a.length),{removed:o,array:n}};let{setLength:l,splice:p}=s,{fireEvent:u,objectEach:h,uniqueKey:d}=o(),c=class{constructor(t={}){this.autoId=!t.id,this.columns={},this.id=t.id||d(),this.modified=this,this.rowCount=0,this.versionTag=d();let e=0;h(t.columns||{},(t,i)=>{this.columns[i]=t.slice(),e=Math.max(e,t.length)}),this.applyRowCount(e)}applyRowCount(t){this.rowCount=t,h(this.columns,(e,i)=>{e.length!==t&&(this.columns[i]=l(e,t))})}deleteRows(t,e=1){if(e>0&&t<this.rowCount){let i=0;h(this.columns,(s,a)=>{this.columns[a]=p(s,t,e).array,i=s.length}),this.rowCount=i}u(this,"afterDeleteRows",{rowIndex:t,rowCount:e}),this.versionTag=d()}getColumn(t,e){return this.columns[t]}getColumns(t,e){return(t||Object.keys(this.columns)).reduce((t,e)=>(t[e]=this.columns[e],t),{})}getRow(t,e){return(e||Object.keys(this.columns)).map(e=>this.columns[e]?.[t])}setColumn(t,e=[],i=0,s){this.setColumns({[t]:e},i,s)}setColumns(t,e,i){let s=this.rowCount;h(t,(t,e)=>{this.columns[e]=t.slice(),s=t.length}),this.applyRowCount(s),i?.silent||(u(this,"afterSetColumns"),this.versionTag=d())}setRow(t,e=this.rowCount,i,s){let{columns:a}=this,r=i?this.rowCount+1:e+1;h(t,(t,o)=>{let n=a[o]||s?.addColumns!==!1&&Array(r);n&&(i?n=p(n,e,0,!0,[t]).array:n[e]=t,a[o]=n)}),r>this.rowCount&&this.applyRowCount(r),s?.silent||(u(this,"afterSetRows"),this.versionTag=d())}},{animObject:m}=o(),{cluster:f}=n,{addEvent:g,defined:x,error:y,isArray:C,isFunction:k,isObject:I,isNumber:M,merge:b,objectEach:S,relativeLength:A,syncTimeout:w}=o(),P={grid:function(t,e,i,s){let a,r,o,n,l,p={},u=this.getGridOffset(),h=this.getScaledGridSize(s);for(l=0;l<t.length;l++){let s=Q(this,{x:t[l],y:e[l]});a=s.x-u.plotLeft,r=s.y-u.plotTop,o=Math.floor(a/h),p[n=Math.floor(r/h)+":"+o]??(p[n]=[]),p[n].push({dataIndex:i[l],x:t[l],y:e[l]})}return p},kmeans:function(t,e,i,s){let a=[],r=[],o={},n=s.processedDistance||f.layoutAlgorithm.distance,l=s.iterations,p=0,u=!0,h=0,d=0,c,m=[];s.processedGridSize=s.processedDistance;let g=this.markerClusterAlgorithms?this.markerClusterAlgorithms.grid.call(this,t,e,i,s):{};for(let t in g)g[t].length>1&&(c=T(g[t]),a.push({posX:c.x,posY:c.y,oldX:0,oldY:0,startPointsLen:g[t].length,points:[]}));for(;u;){for(let t of a)t.points.length=0;r.length=0;for(let s=0;s<t.length;s++)h=t[s],d=e[s],(m=this.getClusterDistancesFromPoint(a,h,d)).length&&m[0].distance<n?a[m[0].clusterIndex].points.push({x:h,y:d,dataIndex:i[s]}):r.push({x:h,y:d,dataIndex:i[s]});for(let t=0;t<a.length;t++)1===a[t].points.length&&(m=this.getClusterDistancesFromPoint(a,a[t].points[0].x,a[t].points[0].y))[1].distance<n&&(a[m[1].clusterIndex].points.push(a[t].points[0]),a[m[0].clusterIndex].points.length=0);u=!1;for(let t=0;t<a.length;t++)c=T(a[t].points),a[t].oldX=a[t].posX,a[t].oldY=a[t].posY,a[t].posX=c.x,a[t].posY=c.y,(a[t].posX>a[t].oldX+1||a[t].posX<a[t].oldX-1||a[t].posY>a[t].oldY+1||a[t].posY<a[t].oldY-1)&&(u=!0);l&&(u=p<l-1),p++}for(let t=0,e=a.length;t<e;++t)o["cluster"+t]=a[t].points;for(let t=0,e=r.length;t<e;++t)o["noise"+t]=[r[t]];return o},optimizedKmeans:function(t,e,i,s){let a=s.processedDistance||f.layoutAlgorithm.gridSize,r=this.getRealExtremes(),o=(this.options.cluster||{}).marker,n,l={},p,u;if(!this.markerClusterInfo||this.initMaxX&&this.initMaxX<r.maxX||this.initMinX&&this.initMinX>r.minX||this.initMaxY&&this.initMaxY<r.maxY||this.initMinY&&this.initMinY>r.minY)this.initMaxX=r.maxX,this.initMinX=r.minX,this.initMaxY=r.maxY,this.initMinY=r.minY,l=this.markerClusterAlgorithms?this.markerClusterAlgorithms.kmeans.call(this,t,e,i,s):{},this.baseClusters=null;else{for(let t of(this.baseClusters??(this.baseClusters={clusters:this.markerClusterInfo.clusters,noise:this.markerClusterInfo.noise}),this.baseClusters.clusters)){for(let e of(t.pointsOutside=[],t.pointsInside=[],t.data)){let i=Q(this,e),s=Q(this,t);n=Math.sqrt(Math.pow(i.x-s.x,2)+Math.pow(i.y-s.y,2)),p=a-(u=t.clusterZone?.marker?.radius?t.clusterZone.marker.radius:o?.radius?o.radius:f.marker.radius)>=0?a-u:u,n>u+p&&x(t.pointsOutside)?t.pointsOutside.push(e):x(t.pointsInside)&&t.pointsInside.push(e)}t.pointsInside.length&&(l[t.id]=t.pointsInside);let e=0;for(let i of t.pointsOutside)l[t.id+"_noise"+e++]=[i]}for(let t of this.baseClusters.noise)l[t.id]=t.data}return l}},X,Y=[],L=0;function z(t,e,i){t.attr({opacity:e}).animate({opacity:1},i)}function D(t,e,i,s){for(let a of(O(t,s,i,!0,!0),e))a.point?.destroy?.()}function O(t,e,i,s,a){t.point&&(s&&t.point.graphic&&(t.point.graphic.show(),z(t.point.graphic,e,i)),a&&t.point.dataLabel&&(t.point.dataLabel.show(),z(t.point.dataLabel,e,i)))}function T(t){let e=t.length,i=0,s=0;for(let a=0;a<e;a++)i+=t[a].x,s+=t[a].y;return{x:i/e,y:s/e}}function v(t,e){let i=[];return i.length=e,t.clusters.forEach(function(t){t.data.forEach(function(t){i[t.dataIndex]=t})}),t.noise.forEach(function(t){i[t.data[0].dataIndex]=t.data[0]}),i}function R(){return Math.random().toString(36).substring(2,7)+"-"+L++}function V(t,e,i){t.point&&(e&&t.point.graphic&&t.point.graphic.hide(),i&&t.point.dataLabel&&t.point.dataLabel.hide())}function E(t){(t.point||t.target).firePointEvent("drillToCluster",t,function(t){let e=t.point||t.target,i=e.series,{xAxis:s,yAxis:a,chart:r}=i,{inverted:o,mapView:n,pointer:l}=r;if(i.options.cluster?.drillToCluster&&e.clusteredData){let t=e.clusteredData.map(t=>t.x).sort((t,e)=>t-e),i=e.clusteredData.map(t=>t.y).sort((t,e)=>t-e),p=t[0],u=t[t.length-1],h=i[0],d=i[i.length-1],c=Math.abs((u-p)*.1),m=Math.abs((d-h)*.1),f=Math.min(p,u)-c,g=Math.max(p,u)+c,x=Math.min(h,d)-m,y=Math.max(h,d)+m;if(n)n.fitToBounds({x1:f,x2:g,y1:x,y2:y});else if(s&&a){let t=s.toPixels(f),e=s.toPixels(g),i=a.toPixels(x),n=a.toPixels(y);o&&([t,e,i,n]=[i,n,t,e]),t>e&&([t,e]=[e,t]),i>n&&([i,n]=[n,i]),l&&(l.zoomX=!0,l.zoomY=!0),r.transform({from:{x:t,y:i,width:e-t,height:n-i}})}}})}function j(t,e){let{chart:i,xAxis:s,yAxis:a}=t;return i.mapView?i.mapView.pixelsToProjectedUnits(e):{x:s?s.toValue(e.x):0,y:a?a.toValue(e.y):0}}function G(t){let e=this.chart,i=e.mapView,s=m(this.options.cluster?.animation),a=s.duration||500,r=this.markerClusterInfo?.pointsState,o=r?.newState,n=r?.oldState,l=[],p,u,h,d=0,c=0,f=0,g=!1,x=!1;if(n&&o){let r=Q(this,u=o[t.stateId]);c=r.x-(i?0:e.plotLeft),f=r.y-(i?0:e.plotTop),1===u.parentsId.length?(p=n[o?.[t.stateId].parentsId[0]],u.point?.graphic&&p.point?.plotX&&p.point.plotY&&(p.point.plotX!==u.point.plotX||p.point.plotY!==u.point.plotY)&&(h=u.point.graphic.getBBox(),d=u.point.graphic?.isImg?0:h.width/2,u.point.graphic.attr({x:p.point.plotX-d,y:p.point.plotY-d}),u.point.graphic.animate({x:c-(u.point.graphic.radius||0),y:f-(u.point.graphic.radius||0)},s,function(){x=!0,p.point?.destroy?.()}),u.point.dataLabel?.alignAttr&&p.point.dataLabel?.alignAttr&&(u.point.dataLabel.attr({x:p.point.dataLabel.alignAttr.x,y:p.point.dataLabel.alignAttr.y}),u.point.dataLabel.animate({x:u.point.dataLabel.alignAttr.x,y:u.point.dataLabel.alignAttr.y},s)))):0===u.parentsId.length?(V(u,!0,!0),w(function(){O(u,.1,s,!0,!0)},a/2)):(V(u,!0,!0),u.parentsId.forEach(function(t){n?.[t]&&(p=n[t],l.push(p),p.point?.graphic&&(g=!0,p.point.graphic.show(),p.point.graphic.animate({x:c-(p.point.graphic.radius||0),y:f-(p.point.graphic.radius||0),opacity:.4},s,function(){x=!0,D(u,l,s,.7)}),p.point.dataLabel&&-9999!==p.point.dataLabel.y&&u.point?.dataLabel?.alignAttr&&(p.point.dataLabel.show(),p.point.dataLabel.animate({x:u.point.dataLabel.alignAttr.x,y:u.point.dataLabel.alignAttr.y,opacity:.4},s))))}),w(function(){x||D(u,l,s,.85)},a),g||w(function(){D(u,l,s,.1)},a/2))}}function F(){this.markerClusterSeriesData?.forEach(t=>{t?.destroy?.()}),this.markerClusterSeriesData=null}function W(){let t,e,i,s,a,r,o,n,l,p,u,h,d,m,y,C,I=this,{chart:b}=I,S=b.mapView,w=I.getColumn("x"),P=I.getColumn("y"),Y=I.options.cluster,L=I.getRealExtremes(),z=[],D=[],O=[];if(S&&I.is("mappoint")&&w&&P&&I.options.data?.forEach((t,e)=>{let i=I.projectPoint(t);i&&(w[e]=i.x,P[e]=i.y)}),Y?.enabled&&w?.length&&P?.length&&!b.polar){u=Y.layoutAlgorithm.type,(y=Y.layoutAlgorithm).processedGridSize=A(y.gridSize||f.layoutAlgorithm.gridSize,b.plotWidth),y.processedDistance=A(y.distance||f.layoutAlgorithm.distance,b.plotWidth),s=y.kmeansThreshold||f.layoutAlgorithm.kmeansThreshold;let h=y.processedGridSize/2,S=j(I,{x:0,y:0}),v=j(I,{x:h,y:h});a=Math.abs(S.x-v.x),r=Math.abs(S.y-v.y);for(let t=0;t<w.length;t++)!I.dataMaxX&&(x(n)&&x(o)&&x(p)&&x(l)?M(P[t])&&M(p)&&M(l)&&(n=Math.max(w[t],n),o=Math.min(w[t],o),p=Math.max(P[t]||p,p),l=Math.min(P[t]||l,l)):(n=o=w[t],p=l=P[t])),w[t]>=L.minX-a&&w[t]<=L.maxX+a&&(P[t]||L.minY)>=L.minY-r&&(P[t]||L.maxY)<=L.maxY+r&&(z.push(w[t]),D.push(P[t]),O.push(t));if(x(n)&&x(o)&&M(p)&&M(l)&&(I.dataMaxX=n,I.dataMinX=o,I.dataMaxY=p,I.dataMinY=l),d=(m=(k(u)?u:I.markerClusterAlgorithms?u&&I.markerClusterAlgorithms[u]?I.markerClusterAlgorithms[u]:z.length<s?I.markerClusterAlgorithms.kmeans:I.markerClusterAlgorithms.grid:()=>!1).call(this,z,D,O,y))?I.getClusteredData(m,Y):m,Y.animation&&I.markerClusterInfo?.pointsState?.oldState){var T=I.markerClusterInfo.pointsState.oldState;for(let t of Object.keys(T))T[t].point?.destroy?.();t=I.markerClusterInfo.pointsState.newState}else t={};e=w.length,i=I.markerClusterInfo,d&&(I.dataTable.modified=new c({columns:{x:d.groupedXData,y:d.groupedYData}}),I.hasGroupedData=!0,I.markerClusterInfo=d,I.groupMap=d.groupMap),X.apply(this),d&&I.markerClusterInfo&&(I.markerClusterInfo.clusters?.forEach(t=>{(C=I.points[t.index]).isCluster=!0,C.clusteredData=t.data,C.clusterPointsAmount=t.data.length,t.point=C,g(C,"click",E)}),I.markerClusterInfo.noise?.forEach(t=>{t.point=I.points[t.index]}),Y.animation&&I.markerClusterInfo&&(I.markerClusterInfo.pointsState={oldState:t,newState:I.getPointsState(d,i,e)}),Y.animation?this.hideClusteredData():this.destroyClusteredData(),this.markerClusterSeriesData=this.hasGroupedData?this.points:null)}else X.apply(this)}function Z(t,e,i){let s=[];for(let a=0;a<t.length;a++){let r=Q(this,{x:e,y:i}),o=Q(this,{x:t[a].posX,y:t[a].posY}),n=Math.sqrt(Math.pow(r.x-o.x,2)+Math.pow(r.y-o.y,2));s.push({clusterIndex:a,distance:n})}return s.sort((t,e)=>t.distance-e.distance)}function _(t,e){let i=this.options.data,s=[],a=[],r=[],o=[],n=[],l=Math.max(2,e.minimumClusterSize||2),p=0,u,h,d,c,m,g,x,M,S,A,w,P;if(k(e.layoutAlgorithm.type)&&!this.isValidGroupedDataObject(t))return y("Highcharts marker-clusters module: The custom algorithm result is not valid!",!1,this.chart),!1;for(let y in t)if(t[y].length>=l){if(d=t[y],u=R(),m=d.length,e.zones)for(let t=0;t<e.zones.length;t++)m>=e.zones[t].from&&m<=e.zones[t].to&&((w=e.zones[t]).zoneIndex=t,A=e.zones[t].marker,P=e.zones[t].className);S=T(d),"grid"!==e.layoutAlgorithm.type||e.allowOverlap?x={x:S.x,y:S.y}:(g=this.options.marker||{},x=this.preventClusterCollisions({x:S.x,y:S.y,key:y,groupedData:t,gridSize:this.getScaledGridSize(e.layoutAlgorithm),defaultRadius:g.radius||3+(g.lineWidth||0),clusterRadius:A&&A.radius?A.radius:(e.marker||{}).radius||f.marker.radius}));for(let t=0;t<m;t++)d[t].parentStateId=u;if(r.push({x:x.x,y:x.y,id:y,stateId:u,index:p,data:d,clusterZone:w,clusterZoneClassName:P}),s.push(x.x),a.push(x.y),n.push({options:{formatPrefix:"cluster",dataLabels:e.dataLabels,marker:b(e.marker,{states:e.states},A||{})}}),i?.length)for(let t=0;t<m;t++)I(i[d[t].dataIndex])&&(d[t].options=i[d[t].dataIndex]);p++,A=null}else for(let e=0;e<t[y].length;e++)h=t[y][e],u=R(),M=null,c=i?.[h.dataIndex],s.push(h.x),a.push(h.y),h.parentStateId=u,o.push({x:h.x,y:h.y,id:y,stateId:u,index:p,data:t[y]}),M=c&&"object"==typeof c&&!C(c)?b(c,{x:h.x,y:h.y}):{userOptions:c,x:h.x,y:h.y},n.push({options:M}),p++;return{clusters:r,noise:o,groupedXData:s,groupedYData:a,groupMap:n}}function B(){let{chart:t,xAxis:e,yAxis:i}=this,s=0,a=0;return{plotLeft:s=e&&this.dataMinX&&this.dataMaxX?e.reversed?e.toPixels(this.dataMaxX):e.toPixels(this.dataMinX):t.plotLeft,plotTop:i&&this.dataMinY&&this.dataMaxY?i.reversed?i.toPixels(this.dataMinY):i.toPixels(this.dataMaxY):t.plotTop}}function H(t,e,i){let s,a,r=e?v(e,i):[],o=v(t,i),n={};Y=[],t.clusters.forEach(t=>{n[t.stateId]={x:t.x,y:t.y,id:t.stateId,point:t.point,parentsId:[]}}),t.noise.forEach(t=>{n[t.stateId]={x:t.x,y:t.y,id:t.stateId,point:t.point,parentsId:[]}});for(let t=0;t<o.length;t++)s=o[t],a=r[t],s?.parentStateId&&a?.parentStateId&&n[s.parentStateId]?.parentsId.indexOf(a.parentStateId)===-1&&(n[s.parentStateId].parentsId.push(a.parentStateId),-1===Y.indexOf(a.parentStateId)&&Y.push(a.parentStateId));return n}function q(){let t=this.chart,e=t.mapView?0:t.plotLeft,i=j(this,{x:e,y:t.mapView?0:t.plotTop}),s=j(this,{x:e+t.plotWidth,y:e+t.plotHeight}),a=i.x,r=s.x,o=i.y,n=s.y;return{minX:Math.min(a,r),maxX:Math.max(a,r),minY:Math.min(o,n),maxY:Math.max(o,n)}}function N(t){let e=this.xAxis,i=this.chart.mapView,s=t.processedGridSize||f.layoutAlgorithm.gridSize,a=!0,r=1,o=1;this.gridValueSize||(i?this.gridValueSize=s/i.getScale():this.gridValueSize=Math.abs(e.toValue(s)-e.toValue(0)));let n=+(s/(i?this.gridValueSize*i.getScale():e.toPixels(this.gridValueSize)-e.toPixels(0))).toFixed(14);for(;a&&1!==n;){let t=Math.pow(2,r);n>.75&&n<1.25?a=!1:n>=1/t&&n<1/t*2?(a=!1,o=t):n<=t&&n>t/2&&(a=!1,o=1/t),r++}return s/o/n}function U(){let t=this.markerClusterSeriesData,e=this.markerClusterInfo?.pointsState?.oldState,i=Y.map(t=>e?.[t].point?.id||"");t?.forEach(t=>{t&&-1!==i.indexOf(t.id)?(t.graphic&&t.graphic.hide(),t.dataLabel&&t.dataLabel.hide()):t?.destroy?.()})}function K(t){let e=!1;return!!I(t)&&(S(t,t=>{if(e=!0,!C(t)||!t.length){e=!1;return}for(let i=0;i<t.length;i++)if(!I(t[i])||!t[i].x||!t[i].y){e=!1;return}}),e)}function J(t){let[e,i]=t.key.split(":").map(parseFloat),s=t.gridSize,a=t.groupedData,r=t.defaultRadius,o=t.clusterRadius,n=i*s,l=e*s,p=Q(this,t),u=[],h=this.options.cluster?.marker,d=this.options.cluster?.zones,c=this.getGridOffset(),m=p.x,g=p.y,y=0,C=0,k,I,M,b,S,A,w,P,X,Y,L,z;m-=c.plotLeft,g-=c.plotTop;for(let a=1;a<5;a++)for(w=0,M=a%2?-1:1,b=a<3?-1:1,S=Math.floor((m+M*o)/s),z=[(A=Math.floor((g+b*o)/s))+":"+S,A+":"+i,e+":"+S];w<z.length;w++)-1===u.indexOf(z[w])&&z[w]!==t.key&&u.push(z[w]);for(let t of u)if(a[t]){a[t].posX||(Y=T(a[t]),a[t].posX=Y.x,a[t].posY=Y.y);let p=Q(this,{x:a[t].posX||0,y:a[t].posY||0});if(k=p.x-c.plotLeft,I=p.y-c.plotTop,[X,P]=t.split(":").map(parseFloat),d){y=a[t].length;for(let t=0;t<d.length;t++)y>=d[t].from&&y<=d[t].to&&(C=x(d[t].marker?.radius)?d[t].marker.radius||0:h?.radius?h.radius:f.marker.radius)}a[t].length>1&&0===C&&h?.radius?C=h.radius:1===a[t].length&&(C=r),L=o+C,C=0,P!==i&&Math.abs(m-k)<L&&(m=P-i<0?n+o:n+s-o),X!==e&&Math.abs(g-I)<L&&(g=X-e<0?l+o:l+s-o)}let D=j(this,{x:m+c.plotLeft,y:g+c.plotTop});return a[t.key].posX=D.x,a[t.key].posY=D.y,D}function Q(t,e){let{chart:i,xAxis:s,yAxis:a}=t;return i.mapView?i.mapView.projectedUnitsToPixels(e):{x:s?s.toPixels(e.x):0,y:a?a.toPixels(e.y):0}}let $={compose:function(t,e){let i=e.prototype;!i.markerClusterAlgorithms&&(X=i.generatePoints,i.markerClusterAlgorithms=P,i.animateClusterPoint=G,i.destroyClusteredData=F,i.generatePoints=W,i.getClusterDistancesFromPoint=Z,i.getClusteredData=_,i.getGridOffset=B,i.getPointsState=H,i.getRealExtremes=q,i.getScaledGridSize=N,i.hideClusteredData=U,i.isValidGroupedDataObject=K,i.preventClusterCollisions=J,g(e,"destroy",i.destroyClusteredData),t.plotOptions&&(t.plotOptions.series=b(t.plotOptions.series,n)))}},{animObject:tt}=o(),{defaultOptions:te}=o(),{composed:ti}=o(),{addEvent:ts,defined:ta,error:tr,isFunction:to,merge:tn,pushUnique:tl,syncTimeout:tp}=o();function tu(){let t=this.chart,e=0;for(let i of t.series)i.markerClusterInfo&&(e=tt((i.options.cluster||{}).animation).duration||0);tp(()=>{t.tooltip&&t.tooltip.destroy()},e)}function th(){for(let t of this.series||[])if(t.markerClusterInfo){let e=t.options.cluster,i=((t.markerClusterInfo||{}).pointsState||{}).oldState;if((e||{}).animation&&t.markerClusterInfo&&0===(t.chart.pointer?.pinchDown||[]).length&&"pan"!==((t.xAxis||{}).eventArgs||{}).trigger&&i&&Object.keys(i).length){for(let e of t.markerClusterInfo.clusters)t.animateClusterPoint(e);for(let e of t.markerClusterInfo.noise)t.animateClusterPoint(e)}}}function td(t){let e=(((t.point||t.target).series.options.cluster||{}).events||{}).drillToCluster;to(e)&&e.call(this,t)}function tc(){if(this.dataGroup)return tr("Highcharts marker-clusters module: Running `Point.update` when point belongs to clustered series is not supported.",!1,this.series.chart),!1}function tm(){let t=(this.options.cluster||{}).drillToCluster;if(this.markerClusterInfo&&this.markerClusterInfo.clusters)for(let e of this.markerClusterInfo.clusters)e.point&&e.point.graphic&&(e.point.graphic.addClass("highcharts-cluster-point"),t&&e.point&&(e.point.graphic.css({cursor:"pointer"}),e.point.dataLabel&&e.point.dataLabel.css({cursor:"pointer"})),ta(e.clusterZone)&&e.point.graphic.addClass(e.clusterZoneClassName||"highcharts-cluster-zone-"+e.clusterZone.zoneIndex))}function tf(e,i,s,a){let r=s/2,o=a/2,n=t.arc(e+r,i+o,r-4,o-4,{start:.5*Math.PI,end:2.5*Math.PI,open:!1}),l=t.arc(e+r,i+o,r-3,o-3,{start:.5*Math.PI,end:2.5*Math.PI,innerR:r-2,open:!1});return t.arc(e+r,i+o,r-1,o-1,{start:.5*Math.PI,end:2.5*Math.PI,innerR:r,open:!1}).concat(l,n)}(te.plotOptions||{}).series=tn((te.plotOptions||{}).series,n);let tg=o();({compose:function(t,e,i,s){if(tl(ti,"MarkerClusters")){let a=s.prototype.pointClass,{scatter:r}=s.types;ts(t,"setExtremes",tu),ts(e,"render",th),ts(a,"drillToCluster",td),ts(a,"update",tc),ts(s,"afterRender",tm),r&&$.compose(i,r)}}}).compose(tg.Axis,tg.Chart,tg.defaultOptions,tg.Series),({compose:function(e){(t=e.prototype.symbols).cluster=tf}}).compose(tg.SVGRenderer);let tx=o();export{tx as default};
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Highcharts JS v12.2.0 (2025-04-07)
2
+ * @license Highcharts JS v12.3.0 (2025-06-21)
3
3
  * @module highcharts/modules/marker-clusters
4
4
  * @requires highcharts
5
5
  *
@@ -1 +1,11 @@
1
- let e;import*as t from"../highcharts.js";var i={};i.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return i.d(t,{a:t}),t},i.d=(e,t)=>{for(var o in t)i.o(t,o)&&!i.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);let o=t.default;var r=i.n(o);let{defined:s,isNumber:n,pick:l}=r(),a={backgroundColor:"string",borderColor:"string",borderRadius:"string",color:"string",fill:"string",fontSize:"string",labels:"string",name:"string",stroke:"string",title:"string"},{addEvent:h,isObject:u,pick:g,defined:d,merge:m}=r(),{getAssignedAxis:c}={annotationsFieldsTypes:a,getAssignedAxis:function(e){return e.filter(e=>{let t=e.axis.getExtremes(),i=t.min,o=t.max,r=l(e.axis.minPointOffset,0);return n(i)&&n(o)&&e.value>=i-r&&e.value<=o+r&&!e.axis.options.isInternal})[0]},getFieldType:function(e,t){let i=a[e],o=typeof t;return s(i)&&(o=i),({string:"text",number:"number",boolean:"checkbox"})[o]}},f=[],x={enabled:!0,sensitivity:1.1},p=e=>(u(e)||(e={enabled:e??!0}),m(x,e)),y=function(t,i,o,r,s,n,l){let a=g(l.type,t.zooming.type,""),h=[];"x"===a?h=o:"y"===a?h=r:"xy"===a&&(h=t.axes);let u=t.transform({axes:h,to:{x:s-5,y:n-5,width:10,height:10},from:{x:s-5*i,y:n-5*i,width:10*i,height:10*i},trigger:"mousewheel"});return u&&(d(e)&&clearTimeout(e),e=setTimeout(()=>{t.pointer?.drop()},400)),u};function b(){let e=p(this.zooming.mouseWheel);e.enabled&&h(this.container,"wheel",t=>{t=this.pointer?.normalize(t)||t;let{pointer:i}=this,o=i&&!i.inClass(t.target,"highcharts-no-mousewheel");if(this.isInsidePlot(t.chartX-this.plotLeft,t.chartY-this.plotTop)&&o){let o=e.sensitivity||1.1,r=t.detail||(t.deltaY||0)/120,s=c(i.getCoordinates(t).xAxis),n=c(i.getCoordinates(t).yAxis);y(this,Math.pow(o,r),s?[s.axis]:this.xAxis,n?[n.axis]:this.yAxis,t.chartX,t.chartY,e)&&t.preventDefault?.()}})}let v=r();v.MouseWheelZoom=v.MouseWheelZoom||{compose:function(e){-1===f.indexOf(e)&&(f.push(e),h(e,"afterGetContainer",b))}},v.MouseWheelZoom.compose(v.Chart);let w=r();export{w as default};
1
+ /**
2
+ * Highcharts JS v12.3.0 (2025-06-21)
3
+ * @module highcharts/modules/mouse-wheel-zoom
4
+ * @requires highcharts
5
+ *
6
+ * Mousewheel zoom module
7
+ *
8
+ * (c) 2023 Askel Eirik Johansson
9
+ *
10
+ * License: www.highcharts.com/license
11
+ */let e;import*as t from"../highcharts.js";var i={};i.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return i.d(t,{a:t}),t},i.d=(e,t)=>{for(var o in t)i.o(t,o)&&!i.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);let o=t.default;var r=i.n(o);let{defined:s,isNumber:n,pick:l}=r(),a={backgroundColor:"string",borderColor:"string",borderRadius:"string",color:"string",fill:"string",fontSize:"string",labels:"string",name:"string",stroke:"string",title:"string"},{addEvent:h,isObject:u,pick:g,defined:d,merge:m}=r(),{getAssignedAxis:c}={annotationsFieldsTypes:a,getAssignedAxis:function(e){return e.filter(e=>{let t=e.axis.getExtremes(),i=t.min,o=t.max,r=l(e.axis.minPointOffset,0);return n(i)&&n(o)&&e.value>=i-r&&e.value<=o+r&&!e.axis.options.isInternal})[0]},getFieldType:function(e,t){let i=a[e],o=typeof t;return s(i)&&(o=i),({string:"text",number:"number",boolean:"checkbox"})[o]}},f=[],x={enabled:!0,sensitivity:1.1},p=e=>(u(e)||(e={enabled:e??!0}),m(x,e)),y=function(t,i,o,r,s,n,l){let a=g(l.type,t.zooming.type,""),h=[];"x"===a?h=o:"y"===a?h=r:"xy"===a&&(h=t.axes);let u=t.transform({axes:h,to:{x:s-5,y:n-5,width:10,height:10},from:{x:s-5*i,y:n-5*i,width:10*i,height:10*i},trigger:"mousewheel"});return u&&(d(e)&&clearTimeout(e),e=setTimeout(()=>{t.pointer?.drop()},400)),u};function b(){let e=p(this.zooming.mouseWheel);e.enabled&&h(this.container,"wheel",t=>{t=this.pointer?.normalize(t)||t;let{pointer:i}=this,o=i&&!i.inClass(t.target,"highcharts-no-mousewheel");if(this.isInsidePlot(t.chartX-this.plotLeft,t.chartY-this.plotTop)&&o){let o=e.sensitivity||1.1,r=t.detail||(t.deltaY||0)/120,s=c(i.getCoordinates(t).xAxis),n=c(i.getCoordinates(t).yAxis);y(this,Math.pow(o,r),s?[s.axis]:this.xAxis,n?[n.axis]:this.yAxis,t.chartX,t.chartY,e)&&t.preventDefault?.()}})}let v=r();v.MouseWheelZoom=v.MouseWheelZoom||{compose:function(e){-1===f.indexOf(e)&&(f.push(e),h(e,"afterGetContainer",b))}},v.MouseWheelZoom.compose(v.Chart);let w=r();export{w as default};
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Highcharts JS v12.2.0 (2025-04-07)
2
+ * @license Highcharts JS v12.3.0 (2025-06-21)
3
3
  * @module highcharts/modules/mouse-wheel-zoom
4
4
  * @requires highcharts
5
5
  *