highcharts 7.1.1 → 7.1.2

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 (415) hide show
  1. package/bower.json +1 -1
  2. package/css/annotations/popup.css +3 -3
  3. package/css/annotations/popup.scss +1 -1
  4. package/css/stocktools/gui.css +5 -5
  5. package/css/stocktools/gui.scss +1 -1
  6. package/es-modules/annotations/ControlPoint.js +1 -1
  7. package/es-modules/annotations/MockPoint.js +45 -12
  8. package/es-modules/annotations/annotations.src.js +203 -166
  9. package/es-modules/annotations/controllable/ControllableCircle.js +2 -10
  10. package/es-modules/annotations/controllable/ControllableImage.js +2 -10
  11. package/es-modules/annotations/controllable/ControllableLabel.js +54 -9
  12. package/es-modules/annotations/controllable/ControllableRect.js +2 -10
  13. package/es-modules/annotations/controllable/controllableMixin.js +32 -4
  14. package/es-modules/annotations/controllable/markerMixin.js +1 -0
  15. package/es-modules/annotations/eventEmitterMixin.js +1 -0
  16. package/es-modules/annotations/navigationBindings.js +15 -11
  17. package/es-modules/annotations/popup.js +59 -81
  18. package/es-modules/annotations/types/CrookedLine.js +19 -7
  19. package/es-modules/annotations/types/ElliottWave.js +7 -6
  20. package/es-modules/annotations/types/Fibonacci.js +14 -14
  21. package/es-modules/annotations/types/InfinityLine.js +4 -4
  22. package/es-modules/annotations/types/Measure.js +41 -41
  23. package/es-modules/annotations/types/Pitchfork.js +5 -4
  24. package/es-modules/annotations/types/VerticalLine.js +6 -5
  25. package/es-modules/error-messages.js +6 -1
  26. package/es-modules/indicators/indicators.src.js +5 -3
  27. package/es-modules/mixins/nodes.js +16 -8
  28. package/es-modules/modules/accessibility/AccessibilityComponent.js +4 -4
  29. package/es-modules/modules/accessibility/KeyboardNavigation.js +17 -4
  30. package/es-modules/modules/accessibility/components/RangeSelectorComponent.js +3 -2
  31. package/es-modules/modules/accessibility/components/SeriesComponent.js +110 -2
  32. package/es-modules/modules/accessibility/components/ZoomComponent.js +1 -1
  33. package/es-modules/modules/accessibility/options.js +2 -1
  34. package/es-modules/modules/bellcurve.src.js +27 -29
  35. package/es-modules/modules/boost/boost-init.js +14 -0
  36. package/es-modules/modules/boost/boost-overrides.js +13 -3
  37. package/es-modules/modules/boost/wgl-renderer.js +30 -15
  38. package/es-modules/modules/boost/wgl-shader.js +33 -16
  39. package/es-modules/modules/boost/wgl-vbuffer.js +8 -4
  40. package/es-modules/modules/broken-axis.src.js +1 -1
  41. package/es-modules/modules/bullet.src.js +68 -68
  42. package/es-modules/modules/cylinder.src.js +3 -1
  43. package/es-modules/modules/data.src.js +9 -5
  44. package/es-modules/modules/draggable-points.src.js +1 -1
  45. package/es-modules/modules/drilldown.src.js +1 -1
  46. package/es-modules/modules/export-data.src.js +7 -8
  47. package/es-modules/modules/exporting.src.js +9 -1
  48. package/es-modules/modules/full-screen.src.js +1 -1
  49. package/es-modules/modules/funnel3d.src.js +10 -3
  50. package/es-modules/modules/histogram.src.js +162 -164
  51. package/es-modules/modules/item-series.src.js +10 -10
  52. package/es-modules/modules/networkgraph/layouts.js +16 -12
  53. package/es-modules/modules/networkgraph/networkgraph.src.js +147 -51
  54. package/es-modules/modules/offline-exporting.src.js +15 -2
  55. package/es-modules/modules/oldie-polyfills.src.js +1 -1
  56. package/es-modules/modules/organization.src.js +65 -20
  57. package/es-modules/modules/pareto.src.js +52 -51
  58. package/es-modules/modules/pattern-fill.src.js +1 -1
  59. package/es-modules/modules/price-indicator.src.js +1 -1
  60. package/es-modules/modules/pyramid3d.src.js +1 -1
  61. package/es-modules/modules/sankey.src.js +22 -10
  62. package/es-modules/modules/series-label.src.js +16 -8
  63. package/es-modules/modules/solid-gauge.src.js +128 -79
  64. package/es-modules/modules/static-scale.src.js +8 -1
  65. package/es-modules/modules/stock-tools-gui.js +1 -1
  66. package/es-modules/modules/streamgraph.src.js +11 -11
  67. package/es-modules/modules/sunburst.src.js +23 -2
  68. package/es-modules/modules/tilemap.src.js +58 -57
  69. package/es-modules/modules/timeline.src.js +17 -12
  70. package/es-modules/modules/treemap.src.js +6 -6
  71. package/es-modules/modules/variwide.src.js +39 -39
  72. package/es-modules/modules/vector.src.js +108 -107
  73. package/es-modules/modules/venn.src.js +4 -2
  74. package/es-modules/modules/windbarb.src.js +43 -43
  75. package/es-modules/modules/wordcloud.src.js +1 -0
  76. package/es-modules/modules/xrange.src.js +112 -104
  77. package/es-modules/parts/AreaSeries.js +4 -1
  78. package/es-modules/parts/Axis.js +809 -1870
  79. package/es-modules/parts/Chart.js +254 -743
  80. package/es-modules/parts/Color.js +160 -113
  81. package/es-modules/parts/ColumnSeries.js +9 -3
  82. package/es-modules/parts/DataLabels.js +31 -2
  83. package/es-modules/parts/Dynamics.js +73 -26
  84. package/es-modules/parts/FlagsSeries.js +6 -4
  85. package/es-modules/parts/Globals.js +20 -36
  86. package/es-modules/parts/Html.js +116 -235
  87. package/es-modules/parts/Interaction.js +17 -7
  88. package/es-modules/parts/Legend.js +277 -632
  89. package/es-modules/parts/MSPointer.js +62 -106
  90. package/es-modules/parts/Options.js +128 -367
  91. package/es-modules/parts/OrdinalAxis.js +12 -0
  92. package/es-modules/parts/PieSeries.js +61 -44
  93. package/es-modules/parts/PlotLineOrBand.js +38 -3
  94. package/es-modules/parts/Point.js +117 -227
  95. package/es-modules/parts/Pointer.js +273 -558
  96. package/es-modules/parts/RangeSelector.js +5 -3
  97. package/es-modules/parts/Responsive.js +8 -4
  98. package/es-modules/parts/ScrollablePlotArea.js +215 -81
  99. package/es-modules/parts/Scrollbar.js +38 -23
  100. package/es-modules/parts/Series.js +151 -47
  101. package/es-modules/parts/Stacking.js +8 -3
  102. package/es-modules/parts/StockChart.js +42 -29
  103. package/es-modules/parts/SvgRenderer.js +1080 -2100
  104. package/es-modules/parts/Tick.js +11 -4
  105. package/es-modules/parts/Time.js +179 -363
  106. package/es-modules/parts/Tooltip.js +23 -12
  107. package/es-modules/parts/TouchPointer.js +69 -187
  108. package/es-modules/parts/Utilities.js +593 -846
  109. package/es-modules/parts-3d/Axis.js +2 -2
  110. package/es-modules/parts-3d/Column.js +18 -8
  111. package/es-modules/parts-gantt/GanttSeries.js +17 -21
  112. package/es-modules/parts-gantt/GridAxis.js +183 -101
  113. package/es-modules/parts-gantt/PathfinderAlgorithms.js +2 -2
  114. package/es-modules/parts-gantt/TreeGrid.js +53 -36
  115. package/es-modules/parts-map/ColorAxis.js +35 -14
  116. package/es-modules/parts-map/MapBubbleSeries.js +2 -1
  117. package/es-modules/parts-map/MapSeries.js +29 -18
  118. package/es-modules/parts-more/AreaRangeSeries.js +13 -12
  119. package/es-modules/parts-more/ColumnRangeSeries.js +8 -2
  120. package/es-modules/parts-more/GaugeSeries.js +9 -9
  121. package/es-modules/parts-more/PackedBubbleSeries.js +152 -115
  122. package/es-modules/parts-more/RadialAxis.js +102 -8
  123. package/es-modules/parts-more/WaterfallSeries.js +148 -35
  124. package/highcharts-3d.js +68 -67
  125. package/highcharts-3d.js.map +1 -1
  126. package/highcharts-3d.src.js +21 -11
  127. package/highcharts-gantt.d.ts +5 -3
  128. package/highcharts-gantt.js +618 -610
  129. package/highcharts-gantt.js.map +1 -1
  130. package/highcharts-gantt.src.d.ts +5 -3
  131. package/highcharts-gantt.src.js +5185 -8892
  132. package/highcharts-more.js +144 -140
  133. package/highcharts-more.js.map +1 -1
  134. package/highcharts-more.src.js +449 -194
  135. package/highcharts.d.ts +3943 -5236
  136. package/highcharts.js +454 -449
  137. package/highcharts.js.map +1 -1
  138. package/highcharts.src.d.ts +3943 -5236
  139. package/highcharts.src.js +4767 -8601
  140. package/highmaps.d.ts +5 -3
  141. package/highmaps.js +498 -494
  142. package/highmaps.js.map +1 -1
  143. package/highmaps.src.d.ts +5 -3
  144. package/highmaps.src.js +4547 -8507
  145. package/highstock.d.ts +5 -3
  146. package/highstock.js +597 -590
  147. package/highstock.js.map +1 -1
  148. package/highstock.src.d.ts +5 -3
  149. package/highstock.src.js +4871 -8661
  150. package/indicators/acceleration-bands.js +1 -1
  151. package/indicators/acceleration-bands.src.js +1 -1
  152. package/indicators/accumulation-distribution.js +1 -1
  153. package/indicators/accumulation-distribution.src.js +1 -1
  154. package/indicators/ao.js +1 -1
  155. package/indicators/ao.src.js +1 -1
  156. package/indicators/apo.js +1 -1
  157. package/indicators/apo.src.js +1 -1
  158. package/indicators/aroon-oscillator.js +1 -1
  159. package/indicators/aroon-oscillator.src.js +1 -1
  160. package/indicators/aroon.js +1 -1
  161. package/indicators/aroon.src.js +1 -1
  162. package/indicators/atr.js +1 -1
  163. package/indicators/atr.src.js +1 -1
  164. package/indicators/bollinger-bands.js +1 -1
  165. package/indicators/bollinger-bands.src.js +1 -1
  166. package/indicators/cci.js +1 -1
  167. package/indicators/cci.src.js +1 -1
  168. package/indicators/chaikin.js +1 -1
  169. package/indicators/chaikin.src.js +1 -1
  170. package/indicators/cmf.js +1 -1
  171. package/indicators/cmf.src.js +1 -1
  172. package/indicators/dema.js +1 -1
  173. package/indicators/dema.src.js +1 -1
  174. package/indicators/dpo.js +1 -1
  175. package/indicators/dpo.src.js +1 -1
  176. package/indicators/ema.js +1 -1
  177. package/indicators/ema.src.js +1 -1
  178. package/indicators/ichimoku-kinko-hyo.js +1 -1
  179. package/indicators/ichimoku-kinko-hyo.src.js +1 -1
  180. package/indicators/indicators-all.js +105 -105
  181. package/indicators/indicators-all.js.map +1 -1
  182. package/indicators/indicators-all.src.js +6 -4
  183. package/indicators/indicators.js +9 -9
  184. package/indicators/indicators.js.map +1 -1
  185. package/indicators/indicators.src.js +6 -4
  186. package/indicators/keltner-channels.js +1 -1
  187. package/indicators/keltner-channels.src.js +1 -1
  188. package/indicators/macd.js +1 -1
  189. package/indicators/macd.src.js +1 -1
  190. package/indicators/mfi.js +1 -1
  191. package/indicators/mfi.src.js +1 -1
  192. package/indicators/momentum.js +1 -1
  193. package/indicators/momentum.src.js +1 -1
  194. package/indicators/natr.js +1 -1
  195. package/indicators/natr.src.js +1 -1
  196. package/indicators/pivot-points.js +1 -1
  197. package/indicators/pivot-points.src.js +1 -1
  198. package/indicators/ppo.js +1 -1
  199. package/indicators/ppo.src.js +1 -1
  200. package/indicators/price-channel.js +1 -1
  201. package/indicators/price-channel.src.js +1 -1
  202. package/indicators/price-envelopes.js +1 -1
  203. package/indicators/price-envelopes.src.js +1 -1
  204. package/indicators/psar.js +1 -1
  205. package/indicators/psar.src.js +1 -1
  206. package/indicators/regressions.js +1 -1
  207. package/indicators/regressions.src.js +1 -1
  208. package/indicators/roc.js +1 -1
  209. package/indicators/roc.src.js +1 -1
  210. package/indicators/rsi.js +1 -1
  211. package/indicators/rsi.src.js +1 -1
  212. package/indicators/stochastic.js +1 -1
  213. package/indicators/stochastic.src.js +1 -1
  214. package/indicators/supertrend.js +1 -1
  215. package/indicators/supertrend.src.js +1 -1
  216. package/indicators/tema.js +1 -1
  217. package/indicators/tema.src.js +1 -1
  218. package/indicators/trix.js +1 -1
  219. package/indicators/trix.src.js +1 -1
  220. package/indicators/volume-by-price.js +1 -1
  221. package/indicators/volume-by-price.src.js +1 -1
  222. package/indicators/vwap.js +1 -1
  223. package/indicators/vwap.src.js +1 -1
  224. package/indicators/williams-r.js +1 -1
  225. package/indicators/williams-r.src.js +1 -1
  226. package/indicators/wma.js +1 -1
  227. package/indicators/wma.src.js +1 -1
  228. package/indicators/zigzag.js +1 -1
  229. package/indicators/zigzag.src.js +1 -1
  230. package/modules/accessibility.js +92 -89
  231. package/modules/accessibility.js.map +1 -1
  232. package/modules/accessibility.src.js +138 -15
  233. package/modules/annotations-advanced.js +128 -127
  234. package/modules/annotations-advanced.js.map +1 -1
  235. package/modules/annotations-advanced.src.js +514 -396
  236. package/modules/annotations.d.ts +36 -0
  237. package/modules/annotations.js +81 -81
  238. package/modules/annotations.js.map +1 -1
  239. package/modules/annotations.src.d.ts +36 -0
  240. package/modules/annotations.src.js +418 -315
  241. package/modules/arrow-symbols.js +1 -1
  242. package/modules/arrow-symbols.src.js +1 -1
  243. package/modules/boost-canvas.js +1 -1
  244. package/modules/boost-canvas.src.js +1 -1
  245. package/modules/boost.js +63 -63
  246. package/modules/boost.js.map +1 -1
  247. package/modules/boost.src.js +99 -39
  248. package/modules/broken-axis.js +1 -1
  249. package/modules/broken-axis.src.js +2 -2
  250. package/modules/bullet.js +1 -1
  251. package/modules/bullet.src.js +69 -69
  252. package/modules/current-date-indicator.js +1 -1
  253. package/modules/current-date-indicator.src.js +1 -1
  254. package/modules/cylinder.js +1 -1
  255. package/modules/cylinder.js.map +1 -1
  256. package/modules/cylinder.src.js +4 -2
  257. package/modules/data.js +4 -4
  258. package/modules/data.js.map +1 -1
  259. package/modules/data.src.js +10 -6
  260. package/modules/datagrouping.js +1 -1
  261. package/modules/datagrouping.src.js +1 -1
  262. package/modules/debugger.js +4 -4
  263. package/modules/debugger.js.map +1 -1
  264. package/modules/debugger.src.js +7 -2
  265. package/modules/dependency-wheel.js +1 -1
  266. package/modules/dependency-wheel.src.js +1 -1
  267. package/modules/dotplot.js +1 -1
  268. package/modules/dotplot.src.js +1 -1
  269. package/modules/drag-panes.js +1 -1
  270. package/modules/drag-panes.src.js +1 -1
  271. package/modules/draggable-points.js +1 -1
  272. package/modules/draggable-points.src.js +2 -2
  273. package/modules/drilldown.js +1 -1
  274. package/modules/drilldown.src.js +2 -2
  275. package/modules/export-data.js +2 -2
  276. package/modules/export-data.js.map +1 -1
  277. package/modules/export-data.src.js +8 -9
  278. package/modules/exporting.js +25 -25
  279. package/modules/exporting.js.map +1 -1
  280. package/modules/exporting.src.js +11 -3
  281. package/modules/full-screen.js +1 -1
  282. package/modules/full-screen.src.js +2 -2
  283. package/modules/funnel.js +1 -1
  284. package/modules/funnel.src.js +1 -1
  285. package/modules/funnel3d.js +2 -2
  286. package/modules/funnel3d.js.map +1 -1
  287. package/modules/funnel3d.src.js +11 -4
  288. package/modules/gantt.js +166 -164
  289. package/modules/gantt.js.map +1 -1
  290. package/modules/gantt.src.js +422 -295
  291. package/modules/grid-axis.js +18 -16
  292. package/modules/grid-axis.js.map +1 -1
  293. package/modules/grid-axis.src.js +184 -102
  294. package/modules/heatmap.js +22 -22
  295. package/modules/heatmap.js.map +1 -1
  296. package/modules/heatmap.src.js +36 -15
  297. package/modules/histogram-bellcurve.js +1 -1
  298. package/modules/histogram-bellcurve.js.map +1 -1
  299. package/modules/histogram-bellcurve.src.js +186 -183
  300. package/modules/item-series.js +1 -1
  301. package/modules/item-series.src.js +11 -11
  302. package/modules/map-parser.js +1 -1
  303. package/modules/map-parser.src.js +1 -1
  304. package/modules/map.js +83 -83
  305. package/modules/map.js.map +1 -1
  306. package/modules/map.src.js +67 -34
  307. package/modules/networkgraph.js +10 -9
  308. package/modules/networkgraph.js.map +1 -1
  309. package/modules/networkgraph.src.js +180 -72
  310. package/modules/no-data-to-display.js +1 -1
  311. package/modules/no-data-to-display.src.js +1 -1
  312. package/modules/offline-exporting.js +15 -15
  313. package/modules/offline-exporting.js.map +1 -1
  314. package/modules/offline-exporting.src.js +17 -4
  315. package/modules/oldie-polyfills.js +1 -1
  316. package/modules/oldie-polyfills.src.js +2 -2
  317. package/modules/oldie.js +2 -2
  318. package/modules/oldie.src.js +2 -2
  319. package/modules/organization.js +1 -1
  320. package/modules/organization.js.map +1 -1
  321. package/modules/organization.src.js +66 -21
  322. package/modules/overlapping-datalabels.js +1 -1
  323. package/modules/overlapping-datalabels.src.js +1 -1
  324. package/modules/parallel-coordinates.js +1 -1
  325. package/modules/parallel-coordinates.src.js +1 -1
  326. package/modules/pareto.js +1 -1
  327. package/modules/pareto.js.map +1 -1
  328. package/modules/pareto.src.js +53 -52
  329. package/modules/pathfinder.js +3 -3
  330. package/modules/pathfinder.js.map +1 -1
  331. package/modules/pathfinder.src.js +3 -3
  332. package/modules/pattern-fill.js +1 -1
  333. package/modules/pattern-fill.src.js +2 -2
  334. package/modules/price-indicator.js +1 -1
  335. package/modules/price-indicator.src.js +2 -2
  336. package/modules/pyramid3d.js +1 -1
  337. package/modules/pyramid3d.src.js +2 -2
  338. package/modules/sankey.js +14 -14
  339. package/modules/sankey.js.map +1 -1
  340. package/modules/sankey.src.js +39 -19
  341. package/modules/series-label.js +16 -16
  342. package/modules/series-label.js.map +1 -1
  343. package/modules/series-label.src.js +17 -9
  344. package/modules/solid-gauge.js +5 -5
  345. package/modules/solid-gauge.js.map +1 -1
  346. package/modules/solid-gauge.src.js +129 -80
  347. package/modules/sonification.js +1 -1
  348. package/modules/sonification.src.js +1 -1
  349. package/modules/static-scale.js +4 -4
  350. package/modules/static-scale.js.map +1 -1
  351. package/modules/static-scale.src.js +9 -2
  352. package/modules/stock-tools.js +2 -2
  353. package/modules/stock-tools.src.js +3 -3
  354. package/modules/stock.js +146 -145
  355. package/modules/stock.js.map +1 -1
  356. package/modules/stock.src.js +105 -61
  357. package/modules/streamgraph.js +1 -1
  358. package/modules/streamgraph.src.js +12 -12
  359. package/modules/sunburst.js +40 -40
  360. package/modules/sunburst.js.map +1 -1
  361. package/modules/sunburst.src.js +30 -9
  362. package/modules/tilemap.js +1 -1
  363. package/modules/tilemap.js.map +1 -1
  364. package/modules/tilemap.src.js +59 -58
  365. package/modules/timeline.js +12 -11
  366. package/modules/timeline.js.map +1 -1
  367. package/modules/timeline.src.js +18 -13
  368. package/modules/treegrid.js +45 -43
  369. package/modules/treegrid.js.map +1 -1
  370. package/modules/treegrid.src.js +238 -139
  371. package/modules/treemap.js +1 -1
  372. package/modules/treemap.src.js +7 -7
  373. package/modules/variable-pie.js +1 -1
  374. package/modules/variable-pie.src.js +1 -1
  375. package/modules/variwide.js +1 -1
  376. package/modules/variwide.src.js +40 -40
  377. package/modules/vector.js +1 -1
  378. package/modules/vector.js.map +1 -1
  379. package/modules/vector.src.js +109 -108
  380. package/modules/venn.js +23 -23
  381. package/modules/venn.js.map +1 -1
  382. package/modules/venn.src.js +5 -3
  383. package/modules/windbarb.js +1 -1
  384. package/modules/windbarb.src.js +44 -44
  385. package/modules/wordcloud.js +10 -10
  386. package/modules/wordcloud.js.map +1 -1
  387. package/modules/wordcloud.src.js +2 -1
  388. package/modules/xrange.js +12 -12
  389. package/modules/xrange.js.map +1 -1
  390. package/modules/xrange.src.js +113 -105
  391. package/package.json +1 -1
  392. package/themes/avocado.js +21 -37
  393. package/themes/avocado.src.js +1 -1
  394. package/themes/dark-blue.js +1 -1
  395. package/themes/dark-blue.src.js +1 -1
  396. package/themes/dark-green.js +1 -1
  397. package/themes/dark-green.src.js +1 -1
  398. package/themes/dark-unica.js +1 -1
  399. package/themes/dark-unica.src.js +1 -1
  400. package/themes/gray.js +1 -1
  401. package/themes/gray.src.js +1 -1
  402. package/themes/grid-light.js +1 -1
  403. package/themes/grid-light.src.js +1 -1
  404. package/themes/grid.js +1 -1
  405. package/themes/grid.src.js +1 -1
  406. package/themes/sand-signika.js +1 -1
  407. package/themes/sand-signika.src.js +1 -1
  408. package/themes/skies.js +1 -1
  409. package/themes/skies.src.js +1 -1
  410. package/themes/sunset.js +21 -37
  411. package/themes/sunset.src.js +1 -1
  412. package/.DS_Store +0 -0
  413. package/es-modules/.DS_Store +0 -0
  414. package/es-modules/modules/annotations-legacy.src.js +0 -1977
  415. package/js/.DS_Store +0 -0
@@ -1,621 +1,629 @@
1
1
  /*
2
- Highcharts JS v7.1.1 (2019-04-09)
2
+ Highcharts JS v7.1.2 (2019-06-03)
3
3
 
4
4
  (c) 2017-2018 Lars Cabrera, Torstein Honsi, Jon Arild Nygard & Oystein Moseng
5
5
 
6
6
  License: www.highcharts.com/license
7
7
  */
8
- (function(P,J){"object"===typeof module&&module.exports?(J["default"]=J,module.exports=P.document?J(P):J):"function"===typeof define&&define.amd?define("highcharts/highcharts-gantt",function(){return J(P)}):(P.Highcharts&&P.Highcharts.error(16,!0),P.Highcharts=J(P))})("undefined"!==typeof window?window:this,function(P){function J(a,B,y,C){a.hasOwnProperty(B)||(a[B]=C.apply(null,y))}var G={};J(G,"parts/Globals.js",[],function(){var a="undefined"===typeof P?"undefined"!==typeof window?window:{}:P,B=
9
- a.document,y=a.navigator&&a.navigator.userAgent||"",C=B&&B.createElementNS&&!!B.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect,r=/(edge|msie|trident)/i.test(y)&&!a.opera,h=-1!==y.indexOf("Firefox"),u=-1!==y.indexOf("Chrome"),t=h&&4>parseInt(y.split("Firefox/")[1],10);return{product:"Highcharts",version:"7.1.1",deg2rad:2*Math.PI/360,doc:B,hasBidiBug:t,hasTouch:B&&void 0!==B.documentElement.ontouchstart,isMS:r,isWebKit:-1!==y.indexOf("AppleWebKit"),isFirefox:h,isChrome:u,isSafari:!u&&
10
- -1!==y.indexOf("Safari"),isTouchDevice:/(Mobile|Android|Windows Phone)/.test(y),SVG_NS:"http://www.w3.org/2000/svg",chartCount:0,seriesTypes:{},symbolSizes:{},svg:C,win:a,marginNames:["plotTop","marginRight","marginBottom","plotLeft"],noop:function(){},charts:[],dateFormats:{}}});J(G,"parts/Utilities.js",[G["parts/Globals.js"]],function(a){a.timers=[];var B=a.charts,y=a.doc,C=a.win;a.error=function(r,h,u){var t=a.isNumber(r)?"Highcharts error #"+r+": www.highcharts.com/errors/"+r:r,x=function(){if(h)throw Error(t);
11
- C.console&&console.log(t)};u?a.fireEvent(u,"displayError",{code:r,message:t},x):x()};a.Fx=function(a,h,u){this.options=h;this.elem=a;this.prop=u};a.Fx.prototype={dSetter:function(){var a=this.paths[0],h=this.paths[1],u=[],t=this.now,x=a.length,v;if(1===t)u=this.toD;else if(x===h.length&&1>t)for(;x--;)v=parseFloat(a[x]),u[x]=isNaN(v)?h[x]:t*parseFloat(h[x]-v)+v;else u=h;this.elem.attr("d",u,null,!0)},update:function(){var a=this.elem,h=this.prop,u=this.now,t=this.options.step;if(this[h+"Setter"])this[h+
12
- "Setter"]();else a.attr?a.element&&a.attr(h,u,null,!0):a.style[h]=u+this.unit;t&&t.call(a,u,this)},run:function(r,h,u){var t=this,x=t.options,v=function(a){return v.stopped?!1:t.step(a)},q=C.requestAnimationFrame||function(a){setTimeout(a,13)},l=function(){for(var g=0;g<a.timers.length;g++)a.timers[g]()||a.timers.splice(g--,1);a.timers.length&&q(l)};r!==h||this.elem["forceAnimate:"+this.prop]?(this.startTime=+new Date,this.start=r,this.end=h,this.unit=u,this.now=this.start,this.pos=0,v.elem=this.elem,
13
- v.prop=this.prop,v()&&1===a.timers.push(v)&&q(l)):(delete x.curAnim[this.prop],x.complete&&0===Object.keys(x.curAnim).length&&x.complete.call(this.elem))},step:function(r){var h=+new Date,u,t=this.options,x=this.elem,v=t.complete,q=t.duration,l=t.curAnim;x.attr&&!x.element?r=!1:r||h>=q+this.startTime?(this.now=this.end,this.pos=1,this.update(),u=l[this.prop]=!0,a.objectEach(l,function(a){!0!==a&&(u=!1)}),u&&v&&v.call(x),r=!1):(this.pos=t.easing((h-this.startTime)/q),this.now=this.start+(this.end-
14
- this.start)*this.pos,this.update(),r=!0);return r},initPath:function(r,h,u){function t(b){var c,a;for(e=b.length;e--;)c="M"===b[e]||"L"===b[e],a=/[a-zA-Z]/.test(b[e+3]),c&&a&&b.splice(e+1,0,b[e+1],b[e+2],b[e+1],b[e+2])}function x(c,a){for(;c.length<b;){c[0]=a[b-c.length];var p=c.slice(0,d);[].splice.apply(c,[0,0].concat(p));n&&(p=c.slice(c.length-d),[].splice.apply(c,[c.length,0].concat(p)),e--)}c[0]="M"}function v(a,e){for(var p=(b-a.length)/d;0<p&&p--;)c=a.slice().splice(a.length/w-d,d*w),c[0]=
15
- e[b-d-p*d],f&&(c[d-6]=c[d-2],c[d-5]=c[d-1]),[].splice.apply(a,[a.length/w,0].concat(c)),n&&p--}h=h||"";var q,l=r.startX,g=r.endX,f=-1<h.indexOf("C"),d=f?7:3,b,c,e;h=h.split(" ");u=u.slice();var n=r.isArea,w=n?2:1,z;f&&(t(h),t(u));if(l&&g){for(e=0;e<l.length;e++)if(l[e]===g[0]){q=e;break}else if(l[0]===g[g.length-l.length+e]){q=e;z=!0;break}void 0===q&&(h=[])}h.length&&a.isNumber(q)&&(b=u.length+q*w*d,z?(x(h,u),v(u,h)):(x(u,h),v(h,u)));return[h,u]},fillSetter:function(){a.Fx.prototype.strokeSetter.apply(this,
16
- arguments)},strokeSetter:function(){this.elem.attr(this.prop,a.color(this.start).tweenTo(a.color(this.end),this.pos),null,!0)}};a.merge=function(){var r,h=arguments,u,t={},x=function(h,q){"object"!==typeof h&&(h={});a.objectEach(q,function(l,g){!a.isObject(l,!0)||a.isClass(l)||a.isDOMElement(l)?h[g]=q[g]:h[g]=x(h[g]||{},l)});return h};!0===h[0]&&(t=h[1],h=Array.prototype.slice.call(h,2));u=h.length;for(r=0;r<u;r++)t=x(t,h[r]);return t};a.pInt=function(a,h){return parseInt(a,h||10)};a.isString=function(a){return"string"===
17
- typeof a};a.isArray=function(a){a=Object.prototype.toString.call(a);return"[object Array]"===a||"[object Array Iterator]"===a};a.isObject=function(r,h){return!!r&&"object"===typeof r&&(!h||!a.isArray(r))};a.isDOMElement=function(r){return a.isObject(r)&&"number"===typeof r.nodeType};a.isClass=function(r){var h=r&&r.constructor;return!(!a.isObject(r,!0)||a.isDOMElement(r)||!h||!h.name||"Object"===h.name)};a.isNumber=function(a){return"number"===typeof a&&!isNaN(a)&&Infinity>a&&-Infinity<a};a.erase=
18
- function(a,h){for(var r=a.length;r--;)if(a[r]===h){a.splice(r,1);break}};a.defined=function(a){return void 0!==a&&null!==a};a.attr=function(r,h,u){var t;a.isString(h)?a.defined(u)?r.setAttribute(h,u):r&&r.getAttribute&&((t=r.getAttribute(h))||"class"!==h||(t=r.getAttribute(h+"Name"))):a.defined(h)&&a.isObject(h)&&a.objectEach(h,function(a,h){r.setAttribute(h,a)});return t};a.splat=function(r){return a.isArray(r)?r:[r]};a.syncTimeout=function(a,h,u){if(h)return setTimeout(a,h,u);a.call(0,u)};a.clearTimeout=
19
- function(r){a.defined(r)&&clearTimeout(r)};a.extend=function(a,h){var r;a||(a={});for(r in h)a[r]=h[r];return a};a.pick=function(){var a=arguments,h,u,t=a.length;for(h=0;h<t;h++)if(u=a[h],void 0!==u&&null!==u)return u};a.css=function(r,h){a.isMS&&!a.svg&&h&&void 0!==h.opacity&&(h.filter="alpha(opacity\x3d"+100*h.opacity+")");a.extend(r.style,h)};a.createElement=function(r,h,u,t,x){r=y.createElement(r);var v=a.css;h&&a.extend(r,h);x&&v(r,{padding:0,border:"none",margin:0});u&&v(r,u);t&&t.appendChild(r);
20
- return r};a.extendClass=function(r,h){var u=function(){};u.prototype=new r;a.extend(u.prototype,h);return u};a.pad=function(a,h,u){return Array((h||2)+1-String(a).replace("-","").length).join(u||0)+a};a.relativeLength=function(a,h,u){return/%$/.test(a)?h*parseFloat(a)/100+(u||0):parseFloat(a)};a.wrap=function(a,h,u){var r=a[h];a[h]=function(){var a=Array.prototype.slice.call(arguments),h=arguments,q=this;q.proceed=function(){r.apply(q,arguments.length?arguments:h)};a.unshift(r);a=u.apply(this,a);
21
- q.proceed=null;return a}};a.datePropsToTimestamps=function(r){a.objectEach(r,function(h,u){a.isObject(h)&&"function"===typeof h.getTime?r[u]=h.getTime():(a.isObject(h)||a.isArray(h))&&a.datePropsToTimestamps(h)})};a.formatSingle=function(r,h,u){var t=/\.([0-9])/,x=a.defaultOptions.lang;/f$/.test(r)?(u=(u=r.match(t))?u[1]:-1,null!==h&&(h=a.numberFormat(h,u,x.decimalPoint,-1<r.indexOf(",")?x.thousandsSep:""))):h=(u||a.time).dateFormat(r,h);return h};a.format=function(r,h,u){for(var t="{",x=!1,v,q,l,
22
- g,f=[],d;r;){t=r.indexOf(t);if(-1===t)break;v=r.slice(0,t);if(x){v=v.split(":");q=v.shift().split(".");g=q.length;d=h;for(l=0;l<g;l++)d&&(d=d[q[l]]);v.length&&(d=a.formatSingle(v.join(":"),d,u));f.push(d)}else f.push(v);r=r.slice(t+1);t=(x=!x)?"}":"{"}f.push(r);return f.join("")};a.getMagnitude=function(a){return Math.pow(10,Math.floor(Math.log(a)/Math.LN10))};a.normalizeTickInterval=function(r,h,u,t,x){var v,q=r;u=a.pick(u,1);v=r/u;h||(h=x?[1,1.2,1.5,2,2.5,3,4,5,6,8,10]:[1,2,2.5,5,10],!1===t&&(1===
23
- u?h=h.filter(function(a){return 0===a%1}):.1>=u&&(h=[1/u])));for(t=0;t<h.length&&!(q=h[t],x&&q*u>=r||!x&&v<=(h[t]+(h[t+1]||h[t]))/2);t++);return q=a.correctFloat(q*u,-Math.round(Math.log(.001)/Math.LN10))};a.stableSort=function(a,h){var r=a.length,t,x;for(x=0;x<r;x++)a[x].safeI=x;a.sort(function(a,q){t=h(a,q);return 0===t?a.safeI-q.safeI:t});for(x=0;x<r;x++)delete a[x].safeI};a.arrayMin=function(a){for(var h=a.length,r=a[0];h--;)a[h]<r&&(r=a[h]);return r};a.arrayMax=function(a){for(var h=a.length,
24
- r=a[0];h--;)a[h]>r&&(r=a[h]);return r};a.destroyObjectProperties=function(r,h){a.objectEach(r,function(a,t){a&&a!==h&&a.destroy&&a.destroy();delete r[t]})};a.discardElement=function(r){var h=a.garbageBin;h||(h=a.createElement("div"));r&&h.appendChild(r);h.innerHTML=""};a.correctFloat=function(a,h){return parseFloat(a.toPrecision(h||14))};a.setAnimation=function(r,h){h.renderer.globalAnimation=a.pick(r,h.options.chart.animation,!0)};a.animObject=function(r){return a.isObject(r)?a.merge(r):{duration:r?
25
- 500:0}};a.timeUnits={millisecond:1,second:1E3,minute:6E4,hour:36E5,day:864E5,week:6048E5,month:24192E5,year:314496E5};a.numberFormat=function(r,h,u,t){r=+r||0;h=+h;var x=a.defaultOptions.lang,v=(r.toString().split(".")[1]||"").split("e")[0].length,q,l,g=r.toString().split("e");-1===h?h=Math.min(v,20):a.isNumber(h)?h&&g[1]&&0>g[1]&&(q=h+ +g[1],0<=q?(g[0]=(+g[0]).toExponential(q).split("e")[0],h=q):(g[0]=g[0].split(".")[0]||0,r=20>h?(g[0]*Math.pow(10,g[1])).toFixed(h):0,g[1]=0)):h=2;l=(Math.abs(g[1]?
26
- g[0]:r)+Math.pow(10,-Math.max(h,v)-1)).toFixed(h);v=String(a.pInt(l));q=3<v.length?v.length%3:0;u=a.pick(u,x.decimalPoint);t=a.pick(t,x.thousandsSep);r=(0>r?"-":"")+(q?v.substr(0,q)+t:"");r+=v.substr(q).replace(/(\d{3})(?=\d)/g,"$1"+t);h&&(r+=u+l.slice(-h));g[1]&&0!==+r&&(r+="e"+g[1]);return r};Math.easeInOutSine=function(a){return-.5*(Math.cos(Math.PI*a)-1)};a.getStyle=function(r,h,u){if("width"===h)return Math.max(0,Math.min(r.offsetWidth,r.scrollWidth,r.getBoundingClientRect&&"none"===a.getStyle(r,
27
- "transform",!1)?Math.floor(r.getBoundingClientRect().width):Infinity)-a.getStyle(r,"padding-left")-a.getStyle(r,"padding-right"));if("height"===h)return Math.max(0,Math.min(r.offsetHeight,r.scrollHeight)-a.getStyle(r,"padding-top")-a.getStyle(r,"padding-bottom"));C.getComputedStyle||a.error(27,!0);if(r=C.getComputedStyle(r,void 0))r=r.getPropertyValue(h),a.pick(u,"opacity"!==h)&&(r=a.pInt(r));return r};a.inArray=function(a,h,u){return h.indexOf(a,u)};a.find=Array.prototype.find?function(a,h){return a.find(h)}:
28
- function(a,h){var r,t=a.length;for(r=0;r<t;r++)if(h(a[r],r))return a[r]};a.keys=Object.keys;a.offset=function(a){var h=y.documentElement;a=a.parentElement||a.parentNode?a.getBoundingClientRect():{top:0,left:0};return{top:a.top+(C.pageYOffset||h.scrollTop)-(h.clientTop||0),left:a.left+(C.pageXOffset||h.scrollLeft)-(h.clientLeft||0)}};a.stop=function(r,h){for(var u=a.timers.length;u--;)a.timers[u].elem!==r||h&&h!==a.timers[u].prop||(a.timers[u].stopped=!0)};a.objectEach=function(a,h,u){for(var r in a)a.hasOwnProperty(r)&&
29
- h.call(u||a[r],a[r],r,a)};a.objectEach({map:"map",each:"forEach",grep:"filter",reduce:"reduce",some:"some"},function(r,h){a[h]=function(a){return Array.prototype[r].apply(a,[].slice.call(arguments,1))}});a.addEvent=function(r,h,u,t){var x,v=r.addEventListener||a.addEventListenerPolyfill;x="function"===typeof r&&r.prototype?r.prototype.protoEvents=r.prototype.protoEvents||{}:r.hcEvents=r.hcEvents||{};a.Point&&r instanceof a.Point&&r.series&&r.series.chart&&(r.series.chart.runTrackerClick=!0);v&&v.call(r,
30
- h,u,!1);x[h]||(x[h]=[]);x[h].push(u);t&&a.isNumber(t.order)&&(u.order=t.order,x[h].sort(function(a,l){return a.order-l.order}));return function(){a.removeEvent(r,h,u)}};a.removeEvent=function(r,h,u){function t(l,g){var f=r.removeEventListener||a.removeEventListenerPolyfill;f&&f.call(r,l,g,!1)}function x(l){var g,f;r.nodeName&&(h?(g={},g[h]=!0):g=l,a.objectEach(g,function(a,b){if(l[b])for(f=l[b].length;f--;)t(b,l[b][f])}))}var v,q;["protoEvents","hcEvents"].forEach(function(a){var g=r[a];g&&(h?(v=
31
- g[h]||[],u?(q=v.indexOf(u),-1<q&&(v.splice(q,1),g[h]=v),t(h,u)):(x(g),g[h]=[])):(x(g),r[a]={}))})};a.fireEvent=function(r,h,u,t){var x,v,q,l,g;u=u||{};y.createEvent&&(r.dispatchEvent||r.fireEvent)?(x=y.createEvent("Events"),x.initEvent(h,!0,!0),a.extend(x,u),r.dispatchEvent?r.dispatchEvent(x):r.fireEvent(h,x)):["protoEvents","hcEvents"].forEach(function(f){if(r[f])for(v=r[f][h]||[],q=v.length,u.target||a.extend(u,{preventDefault:function(){u.defaultPrevented=!0},target:r,type:h}),l=0;l<q;l++)(g=v[l])&&
32
- !1===g.call(r,u)&&u.preventDefault()});t&&!u.defaultPrevented&&t.call(r,u)};a.animate=function(r,h,u){var t,x="",v,q,l;a.isObject(u)||(l=arguments,u={duration:l[2],easing:l[3],complete:l[4]});a.isNumber(u.duration)||(u.duration=400);u.easing="function"===typeof u.easing?u.easing:Math[u.easing]||Math.easeInOutSine;u.curAnim=a.merge(h);a.objectEach(h,function(g,f){a.stop(r,f);q=new a.Fx(r,u,f);v=null;"d"===f?(q.paths=q.initPath(r,r.d,h.d),q.toD=h.d,t=0,v=1):r.attr?t=r.attr(f):(t=parseFloat(a.getStyle(r,
33
- f))||0,"opacity"!==f&&(x="px"));v||(v=g);v&&v.match&&v.match("px")&&(v=v.replace(/px/g,""));q.run(t,v,x)})};a.seriesType=function(r,h,u,t,x){var v=a.getOptions(),q=a.seriesTypes;v.plotOptions[r]=a.merge(v.plotOptions[h],u);q[r]=a.extendClass(q[h]||function(){},t);q[r].prototype.type=r;x&&(q[r].prototype.pointClass=a.extendClass(a.Point,x));return q[r]};a.uniqueKey=function(){var a=Math.random().toString(36).substring(2,9),h=0;return function(){return"highcharts-"+a+"-"+h++}}();a.isFunction=function(a){return"function"===
34
- typeof a};C.jQuery&&(C.jQuery.fn.highcharts=function(){var r=[].slice.call(arguments);if(this[0])return r[0]?(new (a[a.isString(r[0])?r.shift():"Chart"])(this[0],r[0],r[1]),this):B[a.attr(this[0],"data-highcharts-chart")]})});J(G,"parts/Color.js",[G["parts/Globals.js"]],function(a){var B=a.isNumber,y=a.merge,C=a.pInt;a.Color=function(r){if(!(this instanceof a.Color))return new a.Color(r);this.init(r)};a.Color.prototype={parsers:[{regex:/rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]?(?:\.[0-9]+)?)\s*\)/,
35
- parse:function(a){return[C(a[1]),C(a[2]),C(a[3]),parseFloat(a[4],10)]}},{regex:/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/,parse:function(a){return[C(a[1]),C(a[2]),C(a[3]),1]}}],names:{white:"#ffffff",black:"#000000"},init:function(r){var h,u,t,x;if((this.input=r=this.names[r&&r.toLowerCase?r.toLowerCase():""]||r)&&r.stops)this.stops=r.stops.map(function(h){return new a.Color(h[1])});else if(r&&r.charAt&&"#"===r.charAt()&&(h=r.length,r=parseInt(r.substr(1),16),7===h?u=[(r&16711680)>>
36
- 16,(r&65280)>>8,r&255,1]:4===h&&(u=[(r&3840)>>4|(r&3840)>>8,(r&240)>>4|r&240,(r&15)<<4|r&15,1])),!u)for(t=this.parsers.length;t--&&!u;)x=this.parsers[t],(h=x.regex.exec(r))&&(u=x.parse(h));this.rgba=u||[]},get:function(a){var h=this.input,r=this.rgba,t;this.stops?(t=y(h),t.stops=[].concat(t.stops),this.stops.forEach(function(h,v){t.stops[v]=[t.stops[v][0],h.get(a)]})):t=r&&B(r[0])?"rgb"===a||!a&&1===r[3]?"rgb("+r[0]+","+r[1]+","+r[2]+")":"a"===a?r[3]:"rgba("+r.join(",")+")":h;return t},brighten:function(a){var h,
37
- r=this.rgba;if(this.stops)this.stops.forEach(function(h){h.brighten(a)});else if(B(a)&&0!==a)for(h=0;3>h;h++)r[h]+=C(255*a),0>r[h]&&(r[h]=0),255<r[h]&&(r[h]=255);return this},setOpacity:function(a){this.rgba[3]=a;return this},tweenTo:function(a,h){var r=this.rgba,t=a.rgba;t.length&&r&&r.length?(a=1!==t[3]||1!==r[3],h=(a?"rgba(":"rgb(")+Math.round(t[0]+(r[0]-t[0])*(1-h))+","+Math.round(t[1]+(r[1]-t[1])*(1-h))+","+Math.round(t[2]+(r[2]-t[2])*(1-h))+(a?","+(t[3]+(r[3]-t[3])*(1-h)):"")+")"):h=a.input||
38
- "none";return h}};a.color=function(r){return new a.Color(r)}});J(G,"parts/SvgRenderer.js",[G["parts/Globals.js"]],function(a){var B,y,C=a.addEvent,r=a.animate,h=a.attr,u=a.charts,t=a.color,x=a.css,v=a.createElement,q=a.defined,l=a.deg2rad,g=a.destroyObjectProperties,f=a.doc,d=a.extend,b=a.erase,c=a.hasTouch,e=a.isArray,n=a.isFirefox,w=a.isMS,z=a.isObject,F=a.isString,m=a.isWebKit,p=a.merge,A=a.noop,D=a.objectEach,H=a.pick,E=a.pInt,k=a.removeEvent,I=a.splat,O=a.stop,Q=a.svg,L=a.SVG_NS,R=a.symbolSizes,
39
- N=a.win;B=a.SVGElement=function(){return this};d(B.prototype,{opacity:1,SVG_NS:L,textProps:"direction fontSize fontWeight fontFamily fontStyle color lineHeight width textAlign textDecoration textOverflow textOutline cursor".split(" "),init:function(b,c){this.element="span"===c?v(c):f.createElementNS(this.SVG_NS,c);this.renderer=b;a.fireEvent(this,"afterInit")},animate:function(b,c,k){var d=a.animObject(H(c,this.renderer.globalAnimation,!0));H(f.hidden,f.msHidden,f.webkitHidden,!1)&&(d.duration=0);
40
- 0!==d.duration?(k&&(d.complete=k),r(this,b,d)):(this.attr(b,null,k),a.objectEach(b,function(a,b){d.step&&d.step.call(this,a,{prop:b,pos:1})},this));return this},complexColor:function(b,c,k){var d=this.renderer,K,n,m,I,w,A,g,f,l,E,L,z=[],H;a.fireEvent(this.renderer,"complexColor",{args:arguments},function(){b.radialGradient?n="radialGradient":b.linearGradient&&(n="linearGradient");n&&(m=b[n],w=d.gradients,g=b.stops,E=k.radialReference,e(m)&&(b[n]=m={x1:m[0],y1:m[1],x2:m[2],y2:m[3],gradientUnits:"userSpaceOnUse"}),
41
- "radialGradient"===n&&E&&!q(m.gradientUnits)&&(I=m,m=p(m,d.getRadialAttr(E,I),{gradientUnits:"userSpaceOnUse"})),D(m,function(a,b){"id"!==b&&z.push(b,a)}),D(g,function(a){z.push(a)}),z=z.join(","),w[z]?L=w[z].attr("id"):(m.id=L=a.uniqueKey(),w[z]=A=d.createElement(n).attr(m).add(d.defs),A.radAttr=I,A.stops=[],g.forEach(function(b){0===b[1].indexOf("rgba")?(K=a.color(b[1]),f=K.get("rgb"),l=K.get("a")):(f=b[1],l=1);b=d.createElement("stop").attr({offset:b[0],"stop-color":f,"stop-opacity":l}).add(A);
42
- A.stops.push(b)})),H="url("+d.url+"#"+L+")",k.setAttribute(c,H),k.gradient=z,b.toString=function(){return H})})},applyTextOutline:function(b){var c=this.element,d,k,K;-1!==b.indexOf("contrast")&&(b=b.replace(/contrast/g,this.renderer.getContrast(c.style.fill)));b=b.split(" ");d=b[b.length-1];(k=b[0])&&"none"!==k&&a.svg&&(this.fakeTS=!0,b=[].slice.call(c.getElementsByTagName("tspan")),this.ySetter=this.xSetter,k=k.replace(/(^[\d\.]+)(.*?)$/g,function(a,b,c){return 2*b+c}),this.removeTextOutline(b),
43
- K=c.firstChild,b.forEach(function(a,b){0===b&&(a.setAttribute("x",c.getAttribute("x")),b=c.getAttribute("y"),a.setAttribute("y",b||0),null===b&&c.setAttribute("y",0));a=a.cloneNode(1);h(a,{"class":"highcharts-text-outline",fill:d,stroke:d,"stroke-width":k,"stroke-linejoin":"round"});c.insertBefore(a,K)}))},removeTextOutline:function(a){for(var c=a.length,k;c--;)k=a[c],"highcharts-text-outline"===k.getAttribute("class")&&b(a,this.element.removeChild(k))},symbolCustomAttribs:"x y width height r start end innerR anchorX anchorY rounded".split(" "),
44
- attr:function(b,c,k,d){var e,p=this.element,K,n=this,m,I,w=this.symbolCustomAttribs;"string"===typeof b&&void 0!==c&&(e=b,b={},b[e]=c);"string"===typeof b?n=(this[b+"Getter"]||this._defaultGetter).call(this,b,p):(D(b,function(c,k){m=!1;d||O(this,k);this.symbolName&&-1!==a.inArray(k,w)&&(K||(this.symbolAttr(b),K=!0),m=!0);!this.rotation||"x"!==k&&"y"!==k||(this.doTransform=!0);m||(I=this[k+"Setter"]||this._defaultSetter,I.call(this,c,k,p),!this.styledMode&&this.shadows&&/^(width|height|visibility|x|y|d|transform|cx|cy|r)$/.test(k)&&
45
- this.updateShadows(k,c,I))},this),this.afterSetters());k&&k.call(this);return n},afterSetters:function(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)},updateShadows:function(a,b,c){for(var k=this.shadows,d=k.length;d--;)c.call(k[d],"height"===a?Math.max(b-(k[d].cutHeight||0),0):"d"===a?this.d:b,a,k[d])},addClass:function(a,b){var c=this.attr("class")||"";b||(a=(a||"").split(/ /g).reduce(function(a,b){-1===c.indexOf(b)&&a.push(b);return a},c?[c]:[]).join(" "));a!==c&&this.attr("class",
46
- a);return this},hasClass:function(a){return-1!==(this.attr("class")||"").split(" ").indexOf(a)},removeClass:function(a){return this.attr("class",(this.attr("class")||"").replace(a,""))},symbolAttr:function(a){var b=this;"x y r start end width height innerR anchorX anchorY clockwise".split(" ").forEach(function(c){b[c]=H(a[c],b[c])});b.attr({d:b.renderer.symbols[b.symbolName](b.x,b.y,b.width,b.height,b)})},clip:function(a){return this.attr("clip-path",a?"url("+this.renderer.url+"#"+a.id+")":"none")},
47
- crisp:function(a,b){var c;b=b||a.strokeWidth||0;c=Math.round(b)%2/2;a.x=Math.floor(a.x||this.x||0)+c;a.y=Math.floor(a.y||this.y||0)+c;a.width=Math.floor((a.width||this.width||0)-2*c);a.height=Math.floor((a.height||this.height||0)-2*c);q(a.strokeWidth)&&(a.strokeWidth=b);return a},css:function(a){var b=this.styles,c={},k=this.element,e,p="",n,K=!b,m=["textOutline","textOverflow","width"];a&&a.color&&(a.fill=a.color);b&&D(a,function(a,k){a!==b[k]&&(c[k]=a,K=!0)});K&&(b&&(a=d(b,c)),a&&(null===a.width||
48
- "auto"===a.width?delete this.textWidth:"text"===k.nodeName.toLowerCase()&&a.width&&(e=this.textWidth=E(a.width))),this.styles=a,e&&!Q&&this.renderer.forExport&&delete a.width,k.namespaceURI===this.SVG_NS?(n=function(a,b){return"-"+b.toLowerCase()},D(a,function(a,b){-1===m.indexOf(b)&&(p+=b.replace(/([A-Z])/g,n)+":"+a+";")}),p&&h(k,"style",p)):x(k,a),this.added&&("text"===this.element.nodeName&&this.renderer.buildText(this),a&&a.textOutline&&this.applyTextOutline(a.textOutline)));return this},getStyle:function(a){return N.getComputedStyle(this.element||
49
- this,"").getPropertyValue(a)},strokeWidth:function(){if(!this.renderer.styledMode)return this["stroke-width"]||0;var a=this.getStyle("stroke-width"),b;a.indexOf("px")===a.length-2?a=E(a):(b=f.createElementNS(L,"rect"),h(b,{width:a,"stroke-width":0}),this.element.parentNode.appendChild(b),a=b.getBBox().width,b.parentNode.removeChild(b));return a},on:function(a,b){var k=this,d=k.element;c&&"click"===a?(d.ontouchstart=function(a){k.touchEventFired=Date.now();a.preventDefault();b.call(d,a)},d.onclick=
50
- function(a){(-1===N.navigator.userAgent.indexOf("Android")||1100<Date.now()-(k.touchEventFired||0))&&b.call(d,a)}):d["on"+a]=b;return this},setRadialReference:function(a){var b=this.renderer.gradients[this.element.gradient];this.element.radialReference=a;b&&b.radAttr&&b.animate(this.renderer.getRadialAttr(a,b.radAttr));return this},translate:function(a,b){return this.attr({translateX:a,translateY:b})},invert:function(a){this.inverted=a;this.updateTransform();return this},updateTransform:function(){var a=
51
- this.translateX||0,b=this.translateY||0,c=this.scaleX,k=this.scaleY,d=this.inverted,e=this.rotation,p=this.matrix,n=this.element;d&&(a+=this.width,b+=this.height);a=["translate("+a+","+b+")"];q(p)&&a.push("matrix("+p.join(",")+")");d?a.push("rotate(90) scale(-1,1)"):e&&a.push("rotate("+e+" "+H(this.rotationOriginX,n.getAttribute("x"),0)+" "+H(this.rotationOriginY,n.getAttribute("y")||0)+")");(q(c)||q(k))&&a.push("scale("+H(c,1)+" "+H(k,1)+")");a.length&&n.setAttribute("transform",a.join(" "))},toFront:function(){var a=
52
- this.element;a.parentNode.appendChild(a);return this},align:function(a,c,k){var d,e,p,n,m={};e=this.renderer;p=e.alignedObjects;var I,K;if(a){if(this.alignOptions=a,this.alignByTranslate=c,!k||F(k))this.alignTo=d=k||"renderer",b(p,this),p.push(this),k=null}else a=this.alignOptions,c=this.alignByTranslate,d=this.alignTo;k=H(k,e[d],e);d=a.align;e=a.verticalAlign;p=(k.x||0)+(a.x||0);n=(k.y||0)+(a.y||0);"right"===d?I=1:"center"===d&&(I=2);I&&(p+=(k.width-(a.width||0))/I);m[c?"translateX":"x"]=Math.round(p);
53
- "bottom"===e?K=1:"middle"===e&&(K=2);K&&(n+=(k.height-(a.height||0))/K);m[c?"translateY":"y"]=Math.round(n);this[this.placed?"animate":"attr"](m);this.placed=!0;this.alignAttr=m;return this},getBBox:function(a,b){var c,k=this.renderer,e,p=this.element,n=this.styles,m,I=this.textStr,K,w=k.cache,A=k.cacheKeys,g=p.namespaceURI===this.SVG_NS,f;b=H(b,this.rotation);e=b*l;m=k.styledMode?p&&B.prototype.getStyle.call(p,"font-size"):n&&n.fontSize;q(I)&&(f=I.toString(),-1===f.indexOf("\x3c")&&(f=f.replace(/[0-9]/g,
54
- "0")),f+=["",b||0,m,this.textWidth,n&&n.textOverflow].join());f&&!a&&(c=w[f]);if(!c){if(g||k.forExport){try{(K=this.fakeTS&&function(a){[].forEach.call(p.querySelectorAll(".highcharts-text-outline"),function(b){b.style.display=a})})&&K("none"),c=p.getBBox?d({},p.getBBox()):{width:p.offsetWidth,height:p.offsetHeight},K&&K("")}catch(Y){}if(!c||0>c.width)c={width:0,height:0}}else c=this.htmlGetBBox();k.isSVG&&(a=c.width,k=c.height,g&&(c.height=k={"11px,17":14,"13px,20":16}[n&&n.fontSize+","+Math.round(k)]||
55
- k),b&&(c.width=Math.abs(k*Math.sin(e))+Math.abs(a*Math.cos(e)),c.height=Math.abs(k*Math.cos(e))+Math.abs(a*Math.sin(e))));if(f&&0<c.height){for(;250<A.length;)delete w[A.shift()];w[f]||A.push(f);w[f]=c}}return c},show:function(a){return this.attr({visibility:a?"inherit":"visible"})},hide:function(){return this.attr({visibility:"hidden"})},fadeOut:function(a){var b=this;b.animate({opacity:0},{duration:a||150,complete:function(){b.attr({y:-9999})}})},add:function(a){var b=this.renderer,c=this.element,
56
- k;a&&(this.parentGroup=a);this.parentInverted=a&&a.inverted;void 0!==this.textStr&&b.buildText(this);this.added=!0;if(!a||a.handleZ||this.zIndex)k=this.zIndexSetter();k||(a?a.element:b.box).appendChild(c);if(this.onAdd)this.onAdd();return this},safeRemoveChild:function(a){var b=a.parentNode;b&&b.removeChild(a)},destroy:function(){var a=this,c=a.element||{},k=a.renderer,d=k.isSVG&&"SPAN"===c.nodeName&&a.parentGroup,e=c.ownerSVGElement,p=a.clipPath;c.onclick=c.onmouseout=c.onmouseover=c.onmousemove=
57
- c.point=null;O(a);p&&e&&([].forEach.call(e.querySelectorAll("[clip-path],[CLIP-PATH]"),function(a){-1<a.getAttribute("clip-path").indexOf(p.element.id)&&a.removeAttribute("clip-path")}),a.clipPath=p.destroy());if(a.stops){for(e=0;e<a.stops.length;e++)a.stops[e]=a.stops[e].destroy();a.stops=null}a.safeRemoveChild(c);for(k.styledMode||a.destroyShadows();d&&d.div&&0===d.div.childNodes.length;)c=d.parentGroup,a.safeRemoveChild(d.div),delete d.div,d=c;a.alignTo&&b(k.alignedObjects,a);D(a,function(b,c){delete a[c]});
58
- return null},shadow:function(a,b,c){var k=[],d,e,p=this.element,n,m,I,K;if(!a)this.destroyShadows();else if(!this.shadows){m=H(a.width,3);I=(a.opacity||.15)/m;K=this.parentInverted?"(-1,-1)":"("+H(a.offsetX,1)+", "+H(a.offsetY,1)+")";for(d=1;d<=m;d++)e=p.cloneNode(0),n=2*m+1-2*d,h(e,{stroke:a.color||"#000000","stroke-opacity":I*d,"stroke-width":n,transform:"translate"+K,fill:"none"}),e.setAttribute("class",(e.getAttribute("class")||"")+" highcharts-shadow"),c&&(h(e,"height",Math.max(h(e,"height")-
59
- n,0)),e.cutHeight=n),b?b.element.appendChild(e):p.parentNode&&p.parentNode.insertBefore(e,p),k.push(e);this.shadows=k}return this},destroyShadows:function(){(this.shadows||[]).forEach(function(a){this.safeRemoveChild(a)},this);this.shadows=void 0},xGetter:function(a){"circle"===this.element.nodeName&&("x"===a?a="cx":"y"===a&&(a="cy"));return this._defaultGetter(a)},_defaultGetter:function(a){a=H(this[a+"Value"],this[a],this.element?this.element.getAttribute(a):null,0);/^[\-0-9\.]+$/.test(a)&&(a=parseFloat(a));
60
- return a},dSetter:function(a,b,c){a&&a.join&&(a=a.join(" "));/(NaN| {2}|^$)/.test(a)&&(a="M 0 0");this[b]!==a&&(c.setAttribute(b,a),this[b]=a)},dashstyleSetter:function(a){var b,c=this["stroke-width"];"inherit"===c&&(c=1);if(a=a&&a.toLowerCase()){a=a.replace("shortdashdotdot","3,1,1,1,1,1,").replace("shortdashdot","3,1,1,1").replace("shortdot","1,1,").replace("shortdash","3,1,").replace("longdash","8,3,").replace(/dot/g,"1,3,").replace("dash","4,3,").replace(/,$/,"").split(",");for(b=a.length;b--;)a[b]=
61
- E(a[b])*c;a=a.join(",").replace(/NaN/g,"none");this.element.setAttribute("stroke-dasharray",a)}},alignSetter:function(a){var b={left:"start",center:"middle",right:"end"};b[a]&&(this.alignValue=a,this.element.setAttribute("text-anchor",b[a]))},opacitySetter:function(a,b,c){this[b]=a;c.setAttribute(b,a)},titleSetter:function(a){var b=this.element.getElementsByTagName("title")[0];b||(b=f.createElementNS(this.SVG_NS,"title"),this.element.appendChild(b));b.firstChild&&b.removeChild(b.firstChild);b.appendChild(f.createTextNode(String(H(a),
62
- "").replace(/<[^>]*>/g,"").replace(/&lt;/g,"\x3c").replace(/&gt;/g,"\x3e")))},textSetter:function(a){a!==this.textStr&&(delete this.bBox,this.textStr=a,this.added&&this.renderer.buildText(this))},setTextPath:function(b,c){var k=this.element,d={textAnchor:"text-anchor"},e,n=!1,m,I=this.textPathWrapper,w=!I;c=p(!0,{enabled:!0,attributes:{dy:-5,startOffset:"50%",textAnchor:"middle"}},c);e=c.attributes;if(b&&c&&c.enabled){this.options&&this.options.padding&&(e.dx=-this.options.padding);I||(this.textPathWrapper=
63
- I=this.renderer.createElement("textPath"),n=!0);m=I.element;(c=b.element.getAttribute("id"))||b.element.setAttribute("id",c=a.uniqueKey());if(w)for(b=k.getElementsByTagName("tspan");b.length;)b[0].setAttribute("y",0),m.appendChild(b[0]);n&&I.add({element:this.text?this.text.element:k});m.setAttributeNS("http://www.w3.org/1999/xlink","href",this.renderer.url+"#"+c);q(e.dy)&&(m.parentNode.setAttribute("dy",e.dy),delete e.dy);q(e.dx)&&(m.parentNode.setAttribute("dx",e.dx),delete e.dx);a.objectEach(e,
64
- function(a,b){m.setAttribute(d[b]||b,a)});k.removeAttribute("transform");this.removeTextOutline.call(I,[].slice.call(k.getElementsByTagName("tspan")));this.applyTextOutline=this.updateTransform=A}else I&&(delete this.updateTransform,delete this.applyTextOutline,this.destroyTextPath(k,b));return this},destroyTextPath:function(a,b){var c;b.element.setAttribute("id","");for(c=this.textPathWrapper.element.childNodes;c.length;)a.firstChild.appendChild(c[0]);a.firstChild.removeChild(this.textPathWrapper.element);
65
- delete b.textPathWrapper},fillSetter:function(a,b,c){"string"===typeof a?c.setAttribute(b,a):a&&this.complexColor(a,b,c)},visibilitySetter:function(a,b,c){"inherit"===a?c.removeAttribute(b):this[b]!==a&&c.setAttribute(b,a);this[b]=a},zIndexSetter:function(a,b){var c=this.renderer,k=this.parentGroup,d=(k||c).element||c.box,e,p=this.element,n,m,c=d===c.box;e=this.added;var I;q(a)?(p.setAttribute("data-z-index",a),a=+a,this[b]===a&&(e=!1)):q(this[b])&&p.removeAttribute("data-z-index");this[b]=a;if(e){(a=
66
- this.zIndex)&&k&&(k.handleZ=!0);b=d.childNodes;for(I=b.length-1;0<=I&&!n;I--)if(k=b[I],e=k.getAttribute("data-z-index"),m=!q(e),k!==p)if(0>a&&m&&!c&&!I)d.insertBefore(p,b[I]),n=!0;else if(E(e)<=a||m&&(!q(a)||0<=a))d.insertBefore(p,b[I+1]||null),n=!0;n||(d.insertBefore(p,b[c?3:0]||null),n=!0)}return n},_defaultSetter:function(a,b,c){c.setAttribute(b,a)}});B.prototype.yGetter=B.prototype.xGetter;B.prototype.translateXSetter=B.prototype.translateYSetter=B.prototype.rotationSetter=B.prototype.verticalAlignSetter=
67
- B.prototype.rotationOriginXSetter=B.prototype.rotationOriginYSetter=B.prototype.scaleXSetter=B.prototype.scaleYSetter=B.prototype.matrixSetter=function(a,b){this[b]=a;this.doTransform=!0};B.prototype["stroke-widthSetter"]=B.prototype.strokeSetter=function(a,b,c){this[b]=a;this.stroke&&this["stroke-width"]?(B.prototype.fillSetter.call(this,this.stroke,"stroke",c),c.setAttribute("stroke-width",this["stroke-width"]),this.hasStroke=!0):"stroke-width"===b&&0===a&&this.hasStroke&&(c.removeAttribute("stroke"),
68
- this.hasStroke=!1)};y=a.SVGRenderer=function(){this.init.apply(this,arguments)};d(y.prototype,{Element:B,SVG_NS:L,init:function(a,b,c,k,d,e,p){var I;I=this.createElement("svg").attr({version:"1.1","class":"highcharts-root"});p||I.css(this.getStyle(k));k=I.element;a.appendChild(k);h(a,"dir","ltr");-1===a.innerHTML.indexOf("xmlns")&&h(k,"xmlns",this.SVG_NS);this.isSVG=!0;this.box=k;this.boxWrapper=I;this.alignedObjects=[];this.url=(n||m)&&f.getElementsByTagName("base").length?N.location.href.split("#")[0].replace(/<[^>]*>/g,
69
- "").replace(/([\('\)])/g,"\\$1").replace(/ /g,"%20"):"";this.createElement("desc").add().element.appendChild(f.createTextNode("Created with Highcharts 7.1.1"));this.defs=this.createElement("defs").add();this.allowHTML=e;this.forExport=d;this.styledMode=p;this.gradients={};this.cache={};this.cacheKeys=[];this.imgCount=0;this.setSize(b,c,!1);var w;n&&a.getBoundingClientRect&&(b=function(){x(a,{left:0,top:0});w=a.getBoundingClientRect();x(a,{left:Math.ceil(w.left)-w.left+"px",top:Math.ceil(w.top)-w.top+
70
- "px"})},b(),this.unSubPixelFix=C(N,"resize",b))},definition:function(a){function b(a,k){var d;I(a).forEach(function(a){var e=c.createElement(a.tagName),p={};D(a,function(a,b){"tagName"!==b&&"children"!==b&&"textContent"!==b&&(p[b]=a)});e.attr(p);e.add(k||c.defs);a.textContent&&e.element.appendChild(f.createTextNode(a.textContent));b(a.children||[],e);d=e});return d}var c=this;return b(a)},getStyle:function(a){return this.style=d({fontFamily:'"Lucida Grande", "Lucida Sans Unicode", Arial, Helvetica, sans-serif',
71
- fontSize:"12px"},a)},setStyle:function(a){this.boxWrapper.css(this.getStyle(a))},isHidden:function(){return!this.boxWrapper.getBBox().width},destroy:function(){var a=this.defs;this.box=null;this.boxWrapper=this.boxWrapper.destroy();g(this.gradients||{});this.gradients=null;a&&(this.defs=a.destroy());this.unSubPixelFix&&this.unSubPixelFix();return this.alignedObjects=null},createElement:function(a){var b=new this.Element;b.init(this,a);return b},draw:A,getRadialAttr:function(a,b){return{cx:a[0]-a[2]/
72
- 2+b.cx*a[2],cy:a[1]-a[2]/2+b.cy*a[2],r:b.r*a[2]}},truncate:function(a,b,c,k,d,e,p){var n=this,m=a.rotation,I,w=k?1:0,A=(c||k).length,g=A,l=[],D=function(a){b.firstChild&&b.removeChild(b.firstChild);a&&b.appendChild(f.createTextNode(a))},q=function(e,m){m=m||e;if(void 0===l[m])if(b.getSubStringLength)try{l[m]=d+b.getSubStringLength(0,k?m+1:m)}catch(fa){}else n.getSpanWidth&&(D(p(c||k,e)),l[m]=d+n.getSpanWidth(a,b));return l[m]},E,L;a.rotation=0;E=q(b.textContent.length);if(L=d+E>e){for(;w<=A;)g=Math.ceil((w+
73
- A)/2),k&&(I=p(k,g)),E=q(g,I&&I.length-1),w===A?w=A+1:E>e?A=g-1:w=g;0===A?D(""):c&&A===c.length-1||D(I||p(c||k,g))}k&&k.splice(0,g);a.actualWidth=E;a.rotation=m;return L},escapes:{"\x26":"\x26amp;","\x3c":"\x26lt;","\x3e":"\x26gt;","'":"\x26#39;",'"':"\x26quot;"},buildText:function(a){var b=a.element,c=this,k=c.forExport,d=H(a.textStr,"").toString(),e=-1!==d.indexOf("\x3c"),p=b.childNodes,n,m=h(b,"x"),I=a.styles,w=a.textWidth,A=I&&I.lineHeight,g=I&&I.textOutline,l=I&&"ellipsis"===I.textOverflow,q=
74
- I&&"nowrap"===I.whiteSpace,z=I&&I.fontSize,K,F,O=p.length,I=w&&!a.added&&this.box,R=function(a){var k;c.styledMode||(k=/(px|em)$/.test(a&&a.style.fontSize)?a.style.fontSize:z||c.style.fontSize||12);return A?E(A):c.fontMetrics(k,a.getAttribute("style")?a:b).h},v=function(a,b){D(c.escapes,function(c,k){b&&-1!==b.indexOf(c)||(a=a.toString().replace(new RegExp(c,"g"),k))});return a},r=function(a,b){var c;c=a.indexOf("\x3c");a=a.substring(c,a.indexOf("\x3e")-c);c=a.indexOf(b+"\x3d");if(-1!==c&&(c=c+b.length+
75
- 1,b=a.charAt(c),'"'===b||"'"===b))return a=a.substring(c+1),a.substring(0,a.indexOf(b))};K=[d,l,q,A,g,z,w].join();if(K!==a.textCache){for(a.textCache=K;O--;)b.removeChild(p[O]);e||g||l||w||-1!==d.indexOf(" ")?(I&&I.appendChild(b),e?(d=c.styledMode?d.replace(/<(b|strong)>/g,'\x3cspan class\x3d"highcharts-strong"\x3e').replace(/<(i|em)>/g,'\x3cspan class\x3d"highcharts-emphasized"\x3e'):d.replace(/<(b|strong)>/g,'\x3cspan style\x3d"font-weight:bold"\x3e').replace(/<(i|em)>/g,'\x3cspan style\x3d"font-style:italic"\x3e'),
76
- d=d.replace(/<a/g,"\x3cspan").replace(/<\/(b|strong|i|em|a)>/g,"\x3c/span\x3e").split(/<br.*?>/g)):d=[d],d=d.filter(function(a){return""!==a}),d.forEach(function(d,e){var p,I=0,A=0;d=d.replace(/^\s+|\s+$/g,"").replace(/<span/g,"|||\x3cspan").replace(/<\/span>/g,"\x3c/span\x3e|||");p=d.split("|||");p.forEach(function(d){if(""!==d||1===p.length){var g={},D=f.createElementNS(c.SVG_NS,"tspan"),E,K;(E=r(d,"class"))&&h(D,"class",E);if(E=r(d,"style"))E=E.replace(/(;| |^)color([ :])/,"$1fill$2"),h(D,"style",
77
- E);(K=r(d,"href"))&&!k&&(h(D,"onclick",'location.href\x3d"'+K+'"'),h(D,"class","highcharts-anchor"),c.styledMode||x(D,{cursor:"pointer"}));d=v(d.replace(/<[a-zA-Z\/](.|\n)*?>/g,"")||" ");if(" "!==d){D.appendChild(f.createTextNode(d));I?g.dx=0:e&&null!==m&&(g.x=m);h(D,g);b.appendChild(D);!I&&F&&(!Q&&k&&x(D,{display:"block"}),h(D,"dy",R(D)));if(w){var H=d.replace(/([^\^])-/g,"$1- ").split(" "),g=!q&&(1<p.length||e||1<H.length);K=0;var O=R(D);if(l)n=c.truncate(a,D,d,void 0,0,Math.max(0,w-parseInt(z||
78
- 12,10)),function(a,b){return a.substring(0,b)+"\u2026"});else if(g)for(;H.length;)H.length&&!q&&0<K&&(D=f.createElementNS(L,"tspan"),h(D,{dy:O,x:m}),E&&h(D,"style",E),D.appendChild(f.createTextNode(H.join(" ").replace(/- /g,"-"))),b.appendChild(D)),c.truncate(a,D,null,H,0===K?A:0,w,function(a,b){return H.slice(0,b).join(" ").replace(/- /g,"-")}),A=a.actualWidth,K++}I++}}});F=F||b.childNodes.length}),l&&n&&a.attr("title",v(a.textStr,["\x26lt;","\x26gt;"])),I&&I.removeChild(b),g&&a.applyTextOutline&&
79
- a.applyTextOutline(g)):b.appendChild(f.createTextNode(v(d)))}},getContrast:function(a){a=t(a).rgba;a[0]*=1;a[1]*=1.2;a[2]*=.5;return 459<a[0]+a[1]+a[2]?"#000000":"#FFFFFF"},button:function(a,b,c,k,e,n,m,I,A,g){var f=this.label(a,b,c,A,null,null,g,null,"button"),D=0,l=this.styledMode;f.attr(p({padding:8,r:2},e));if(!l){var E,q,L,z;e=p({fill:"#f7f7f7",stroke:"#cccccc","stroke-width":1,style:{color:"#333333",cursor:"pointer",fontWeight:"normal"}},e);E=e.style;delete e.style;n=p(e,{fill:"#e6e6e6"},n);
80
- q=n.style;delete n.style;m=p(e,{fill:"#e6ebf5",style:{color:"#000000",fontWeight:"bold"}},m);L=m.style;delete m.style;I=p(e,{style:{color:"#cccccc"}},I);z=I.style;delete I.style}C(f.element,w?"mouseover":"mouseenter",function(){3!==D&&f.setState(1)});C(f.element,w?"mouseout":"mouseleave",function(){3!==D&&f.setState(D)});f.setState=function(a){1!==a&&(f.state=D=a);f.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][a||
81
- 0]);l||f.attr([e,n,m,I][a||0]).css([E,q,L,z][a||0])};l||f.attr(e).css(d({cursor:"default"},E));return f.on("click",function(a){3!==D&&k.call(f,a)})},crispLine:function(a,b){a[1]===a[4]&&(a[1]=a[4]=Math.round(a[1])-b%2/2);a[2]===a[5]&&(a[2]=a[5]=Math.round(a[2])+b%2/2);return a},path:function(a){var b=this.styledMode?{}:{fill:"none"};e(a)?b.d=a:z(a)&&d(b,a);return this.createElement("path").attr(b)},circle:function(a,b,c){a=z(a)?a:void 0===a?{}:{x:a,y:b,r:c};b=this.createElement("circle");b.xSetter=
82
- b.ySetter=function(a,b,c){c.setAttribute("c"+b,a)};return b.attr(a)},arc:function(a,b,c,k,d,e){z(a)?(k=a,b=k.y,c=k.r,a=k.x):k={innerR:k,start:d,end:e};a=this.symbol("arc",a,b,c,c,k);a.r=c;return a},rect:function(a,b,c,k,d,e){d=z(a)?a.r:d;var p=this.createElement("rect");a=z(a)?a:void 0===a?{}:{x:a,y:b,width:Math.max(c,0),height:Math.max(k,0)};this.styledMode||(void 0!==e&&(a.strokeWidth=e,a=p.crisp(a)),a.fill="none");d&&(a.r=d);p.rSetter=function(a,b,c){p.r=a;h(c,{rx:a,ry:a})};p.rGetter=function(){return p.r};
83
- return p.attr(a)},setSize:function(a,b,c){var k=this.alignedObjects,d=k.length;this.width=a;this.height=b;for(this.boxWrapper.animate({width:a,height:b},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:H(c,!0)?void 0:0});d--;)k[d].align()},g:function(a){var b=this.createElement("g");return a?b.attr({"class":"highcharts-"+a}):b},image:function(a,b,c,k,e,p){var n={preserveAspectRatio:"none"},m,I=function(a,b){a.setAttributeNS?a.setAttributeNS("http://www.w3.org/1999/xlink",
84
- "href",b):a.setAttribute("hc-svg-href",b)},w=function(b){I(m.element,a);p.call(m,b)};1<arguments.length&&d(n,{x:b,y:c,width:k,height:e});m=this.createElement("image").attr(n);p?(I(m.element,"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw\x3d\x3d"),n=new N.Image,C(n,"load",w),n.src=a,n.complete&&w({})):I(m.element,a);return m},symbol:function(a,b,c,k,e,p){var n=this,m,I=/^url\((.*?)\)$/,w=I.test(a),A=!w&&(this.symbols[a]?a:"circle"),g=A&&this.symbols[A],D=q(b)&&g&&g.call(this.symbols,
85
- Math.round(b),Math.round(c),k,e,p),l,E;g?(m=this.path(D),n.styledMode||m.attr("fill","none"),d(m,{symbolName:A,x:b,y:c,width:k,height:e}),p&&d(m,p)):w&&(l=a.match(I)[1],m=this.image(l),m.imgwidth=H(R[l]&&R[l].width,p&&p.width),m.imgheight=H(R[l]&&R[l].height,p&&p.height),E=function(){m.attr({width:m.width,height:m.height})},["width","height"].forEach(function(a){m[a+"Setter"]=function(a,b){var c={},k=this["img"+b],d="width"===b?"translateX":"translateY";this[b]=a;q(k)&&(p&&"within"===p.backgroundSize&&
86
- this.width&&this.height&&(k=Math.round(k*Math.min(this.width/this.imgwidth,this.height/this.imgheight))),this.element&&this.element.setAttribute(b,k),this.alignByTranslate||(c[d]=((this[b]||0)-k)/2,this.attr(c)))}}),q(b)&&m.attr({x:b,y:c}),m.isImg=!0,q(m.imgwidth)&&q(m.imgheight)?E():(m.attr({width:0,height:0}),v("img",{onload:function(){var a=u[n.chartIndex];0===this.width&&(x(this,{position:"absolute",top:"-999em"}),f.body.appendChild(this));R[l]={width:this.width,height:this.height};m.imgwidth=
87
- this.width;m.imgheight=this.height;m.element&&E();this.parentNode&&this.parentNode.removeChild(this);n.imgCount--;if(!n.imgCount&&a&&a.onload)a.onload()},src:l}),this.imgCount++));return m},symbols:{circle:function(a,b,c,k){return this.arc(a+c/2,b+k/2,c/2,k/2,{start:.5*Math.PI,end:2.5*Math.PI,open:!1})},square:function(a,b,c,k){return["M",a,b,"L",a+c,b,a+c,b+k,a,b+k,"Z"]},triangle:function(a,b,c,k){return["M",a+c/2,b,"L",a+c,b+k,a,b+k,"Z"]},"triangle-down":function(a,b,c,k){return["M",a,b,"L",a+c,
88
- b,a+c/2,b+k,"Z"]},diamond:function(a,b,c,k){return["M",a+c/2,b,"L",a+c,b+k/2,a+c/2,b+k,a,b+k/2,"Z"]},arc:function(a,b,c,k,d){var e=d.start,p=d.r||c,n=d.r||k||c,m=d.end-.001;c=d.innerR;k=H(d.open,.001>Math.abs(d.end-d.start-2*Math.PI));var I=Math.cos(e),w=Math.sin(e),A=Math.cos(m),m=Math.sin(m),e=.001>d.end-e-Math.PI?0:1;d=["M",a+p*I,b+n*w,"A",p,n,0,e,H(d.clockwise,1),a+p*A,b+n*m];q(c)&&d.push(k?"M":"L",a+c*A,b+c*m,"A",c,c,0,e,0,a+c*I,b+c*w);d.push(k?"":"Z");return d},callout:function(a,b,c,k,d){var e=
89
- Math.min(d&&d.r||0,c,k),p=e+6,n=d&&d.anchorX;d=d&&d.anchorY;var m;m=["M",a+e,b,"L",a+c-e,b,"C",a+c,b,a+c,b,a+c,b+e,"L",a+c,b+k-e,"C",a+c,b+k,a+c,b+k,a+c-e,b+k,"L",a+e,b+k,"C",a,b+k,a,b+k,a,b+k-e,"L",a,b+e,"C",a,b,a,b,a+e,b];n&&n>c?d>b+p&&d<b+k-p?m.splice(13,3,"L",a+c,d-6,a+c+6,d,a+c,d+6,a+c,b+k-e):m.splice(13,3,"L",a+c,k/2,n,d,a+c,k/2,a+c,b+k-e):n&&0>n?d>b+p&&d<b+k-p?m.splice(33,3,"L",a,d+6,a-6,d,a,d-6,a,b+e):m.splice(33,3,"L",a,k/2,n,d,a,k/2,a,b+e):d&&d>k&&n>a+p&&n<a+c-p?m.splice(23,3,"L",n+6,b+
90
- k,n,b+k+6,n-6,b+k,a+e,b+k):d&&0>d&&n>a+p&&n<a+c-p&&m.splice(3,3,"L",n-6,b,n,b-6,n+6,b,c-e,b);return m}},clipRect:function(b,c,k,d){var e=a.uniqueKey()+"-",p=this.createElement("clipPath").attr({id:e}).add(this.defs);b=this.rect(b,c,k,d,0).add(p);b.id=e;b.clipPath=p;b.count=0;return b},text:function(a,b,c,k){var d={};if(k&&(this.allowHTML||!this.forExport))return this.html(a,b,c);d.x=Math.round(b||0);c&&(d.y=Math.round(c));q(a)&&(d.text=a);a=this.createElement("text").attr(d);k||(a.xSetter=function(a,
91
- b,c){var k=c.getElementsByTagName("tspan"),d,e=c.getAttribute(b),p;for(p=0;p<k.length;p++)d=k[p],d.getAttribute(b)===e&&d.setAttribute(b,a);c.setAttribute(b,a)});return a},fontMetrics:function(a,b){a=!this.styledMode&&/px/.test(a)||!N.getComputedStyle?a||b&&b.style&&b.style.fontSize||this.style&&this.style.fontSize:b&&B.prototype.getStyle.call(b,"font-size");a=/px/.test(a)?E(a):12;b=24>a?a+3:Math.round(1.2*a);return{h:b,b:Math.round(.8*b),f:a}},rotCorr:function(a,b,c){var k=a;b&&c&&(k=Math.max(k*
92
- Math.cos(b*l),4));return{x:-a/3*Math.sin(b*l),y:k}},label:function(b,c,e,n,m,I,w,A,g){var f=this,l=f.styledMode,D=f.g("button"!==g&&"label"),E=D.text=f.text("",0,0,w).attr({zIndex:1}),L,z,H=0,F=3,Q=0,O,h,R,v,K,r={},N,t,u=/^url\((.*?)\)$/.test(n),x=l||u,ea=function(){return l?L.strokeWidth()%2/2:(N?parseInt(N,10):0)%2/2},aa,y,C;g&&D.addClass("highcharts-"+g);aa=function(){var a=E.element.style,b={};z=(void 0===O||void 0===h||K)&&q(E.textStr)&&E.getBBox();D.width=(O||z.width||0)+2*F+Q;D.height=(h||
93
- z.height||0)+2*F;t=F+Math.min(f.fontMetrics(a&&a.fontSize,E).b,z?z.height:Infinity);x&&(L||(D.box=L=f.symbols[n]||u?f.symbol(n):f.rect(),L.addClass(("button"===g?"":"highcharts-label-box")+(g?" highcharts-"+g+"-box":"")),L.add(D),a=ea(),b.x=a,b.y=(A?-t:0)+a),b.width=Math.round(D.width),b.height=Math.round(D.height),L.attr(d(b,r)),r={})};y=function(){var a=Q+F,b;b=A?0:t;q(O)&&z&&("center"===K||"right"===K)&&(a+={center:.5,right:1}[K]*(O-z.width));if(a!==E.x||b!==E.y)E.attr("x",a),E.hasBoxWidthChanged&&
94
- (z=E.getBBox(!0),aa()),void 0!==b&&E.attr("y",b);E.x=a;E.y=b};C=function(a,b){L?L.attr(a,b):r[a]=b};D.onAdd=function(){E.add(D);D.attr({text:b||0===b?b:"",x:c,y:e});L&&q(m)&&D.attr({anchorX:m,anchorY:I})};D.widthSetter=function(b){O=a.isNumber(b)?b:null};D.heightSetter=function(a){h=a};D["text-alignSetter"]=function(a){K=a};D.paddingSetter=function(a){q(a)&&a!==F&&(F=D.padding=a,y())};D.paddingLeftSetter=function(a){q(a)&&a!==Q&&(Q=a,y())};D.alignSetter=function(a){a={left:0,center:.5,right:1}[a];
95
- a!==H&&(H=a,z&&D.attr({x:R}))};D.textSetter=function(a){void 0!==a&&E.attr({text:a});aa();y()};D["stroke-widthSetter"]=function(a,b){a&&(x=!0);N=this["stroke-width"]=a;C(b,a)};l?D.rSetter=function(a,b){C(b,a)}:D.strokeSetter=D.fillSetter=D.rSetter=function(a,b){"r"!==b&&("fill"===b&&a&&(x=!0),D[b]=a);C(b,a)};D.anchorXSetter=function(a,b){m=D.anchorX=a;C(b,Math.round(a)-ea()-R)};D.anchorYSetter=function(a,b){I=D.anchorY=a;C(b,a-v)};D.xSetter=function(a){D.x=a;H&&(a-=H*((O||z.width)+2*F),D["forceAnimate:x"]=
96
- !0);R=Math.round(a);D.attr("translateX",R)};D.ySetter=function(a){v=D.y=Math.round(a);D.attr("translateY",v)};var M=D.css;w={css:function(a){if(a){var b={};a=p(a);D.textProps.forEach(function(c){void 0!==a[c]&&(b[c]=a[c],delete a[c])});E.css(b);"width"in b&&aa();"fontSize"in b&&(aa(),y())}return M.call(D,a)},getBBox:function(){return{width:z.width+2*F,height:z.height+2*F,x:z.x-F,y:z.y-F}},destroy:function(){k(D.element,"mouseenter");k(D.element,"mouseleave");E&&(E=E.destroy());L&&(L=L.destroy());
97
- B.prototype.destroy.call(D);D=f=aa=y=C=null}};l||(w.shadow=function(a){a&&(aa(),L&&L.shadow(a));return D});return d(D,w)}});a.Renderer=y});J(G,"parts/Html.js",[G["parts/Globals.js"]],function(a){var B=a.attr,y=a.createElement,C=a.css,r=a.defined,h=a.extend,u=a.isFirefox,t=a.isMS,x=a.isWebKit,v=a.pick,q=a.pInt,l=a.SVGElement,g=a.SVGRenderer,f=a.win;h(l.prototype,{htmlCss:function(a){var b="SPAN"===this.element.tagName&&a&&"width"in a,c=v(b&&a.width,void 0),d;b&&(delete a.width,this.textWidth=c,d=!0);
98
- a&&"ellipsis"===a.textOverflow&&(a.whiteSpace="nowrap",a.overflow="hidden");this.styles=h(this.styles,a);C(this.element,a);d&&this.htmlUpdateTransform();return this},htmlGetBBox:function(){var a=this.element;return{x:a.offsetLeft,y:a.offsetTop,width:a.offsetWidth,height:a.offsetHeight}},htmlUpdateTransform:function(){if(this.added){var a=this.renderer,b=this.element,c=this.translateX||0,e=this.translateY||0,n=this.x||0,w=this.y||0,g=this.textAlign||"left",f={left:0,center:.5,right:1}[g],m=this.styles,
99
- p=m&&m.whiteSpace;C(b,{marginLeft:c,marginTop:e});!a.styledMode&&this.shadows&&this.shadows.forEach(function(a){C(a,{marginLeft:c+1,marginTop:e+1})});this.inverted&&[].forEach.call(b.childNodes,function(c){a.invertChild(c,b)});if("SPAN"===b.tagName){var m=this.rotation,A=this.textWidth&&q(this.textWidth),D=[m,g,b.innerHTML,this.textWidth,this.textAlign].join(),l;(l=A!==this.oldTextWidth)&&!(l=A>this.oldTextWidth)&&((l=this.textPxLength)||(C(b,{width:"",whiteSpace:p||"nowrap"}),l=b.offsetWidth),l=
100
- l>A);l&&(/[ \-]/.test(b.textContent||b.innerText)||"ellipsis"===b.style.textOverflow)?(C(b,{width:A+"px",display:"block",whiteSpace:p||"normal"}),this.oldTextWidth=A,this.hasBoxWidthChanged=!0):this.hasBoxWidthChanged=!1;D!==this.cTT&&(p=a.fontMetrics(b.style.fontSize,b).b,!r(m)||m===(this.oldRotation||0)&&g===this.oldAlign||this.setSpanRotation(m,f,p),this.getSpanCorrection(!r(m)&&this.textPxLength||b.offsetWidth,p,f,m,g));C(b,{left:n+(this.xCorr||0)+"px",top:w+(this.yCorr||0)+"px"});this.cTT=D;
101
- this.oldRotation=m;this.oldAlign=g}}else this.alignOnAdd=!0},setSpanRotation:function(a,b,c){var d={},n=this.renderer.getTransformKey();d[n]=d.transform="rotate("+a+"deg)";d[n+(u?"Origin":"-origin")]=d.transformOrigin=100*b+"% "+c+"px";C(this.element,d)},getSpanCorrection:function(a,b,c){this.xCorr=-a*c;this.yCorr=-b}});h(g.prototype,{getTransformKey:function(){return t&&!/Edge/.test(f.navigator.userAgent)?"-ms-transform":x?"-webkit-transform":u?"MozTransform":f.opera?"-o-transform":""},html:function(d,
102
- b,c){var e=this.createElement("span"),n=e.element,w=e.renderer,g=w.isSVG,f=function(a,b){["opacity","visibility"].forEach(function(c){a[c+"Setter"]=function(d,e,k){var p=a.div?a.div.style:b;l.prototype[c+"Setter"].call(this,d,e,k);p&&(p[e]=d)}});a.addedSetters=!0},m=a.charts[w.chartIndex],m=m&&m.styledMode;e.textSetter=function(a){a!==n.innerHTML&&(delete this.bBox,delete this.oldTextWidth);this.textStr=a;n.innerHTML=v(a,"");e.doTransform=!0};g&&f(e,e.element.style);e.xSetter=e.ySetter=e.alignSetter=
103
- e.rotationSetter=function(a,b){"align"===b&&(b="textAlign");e[b]=a;e.doTransform=!0};e.afterSetters=function(){this.doTransform&&(this.htmlUpdateTransform(),this.doTransform=!1)};e.attr({text:d,x:Math.round(b),y:Math.round(c)}).css({position:"absolute"});m||e.css({fontFamily:this.style.fontFamily,fontSize:this.style.fontSize});n.style.whiteSpace="nowrap";e.css=e.htmlCss;g&&(e.add=function(a){var b,c=w.box.parentNode,d=[];if(this.parentGroup=a){if(b=a.div,!b){for(;a;)d.push(a),a=a.parentGroup;d.reverse().forEach(function(a){function k(b,
104
- c){a[c]=b;"translateX"===c?p.left=b+"px":p.top=b+"px";a.doTransform=!0}var p,n=B(a.element,"class");n&&(n={className:n});b=a.div=a.div||y("div",n,{position:"absolute",left:(a.translateX||0)+"px",top:(a.translateY||0)+"px",display:a.display,opacity:a.opacity,pointerEvents:a.styles&&a.styles.pointerEvents},b||c);p=b.style;h(a,{classSetter:function(a){return function(b){this.element.setAttribute("class",b);a.className=b}}(b),on:function(){d[0].div&&e.on.apply({element:d[0].div},arguments);return a},
105
- translateXSetter:k,translateYSetter:k});a.addedSetters||f(a)})}}else b=c;b.appendChild(n);e.added=!0;e.alignOnAdd&&e.htmlUpdateTransform();return e});return e}})});J(G,"parts/Time.js",[G["parts/Globals.js"]],function(a){var B=a.defined,y=a.extend,C=a.merge,r=a.pick,h=a.timeUnits,u=a.win;a.Time=function(a){this.update(a,!1)};a.Time.prototype={defaultOptions:{},update:function(a){var h=r(a&&a.useUTC,!0),v=this;this.options=a=C(!0,this.options||{},a);this.Date=a.Date||u.Date||Date;this.timezoneOffset=
106
- (this.useUTC=h)&&a.timezoneOffset;this.getTimezoneOffset=this.timezoneOffsetFunction();(this.variableTimezone=!(h&&!a.getTimezoneOffset&&!a.timezone))||this.timezoneOffset?(this.get=function(a,l){var g=l.getTime(),f=g-v.getTimezoneOffset(l);l.setTime(f);a=l["getUTC"+a]();l.setTime(g);return a},this.set=function(a,l,g){var f;if("Milliseconds"===a||"Seconds"===a||"Minutes"===a&&0===l.getTimezoneOffset()%60)l["set"+a](g);else f=v.getTimezoneOffset(l),f=l.getTime()-f,l.setTime(f),l["setUTC"+a](g),a=v.getTimezoneOffset(l),
107
- f=l.getTime()+a,l.setTime(f)}):h?(this.get=function(a,l){return l["getUTC"+a]()},this.set=function(a,l,g){return l["setUTC"+a](g)}):(this.get=function(a,l){return l["get"+a]()},this.set=function(a,l,g){return l["set"+a](g)})},makeTime:function(h,u,v,q,l,g){var f,d,b;this.useUTC?(f=this.Date.UTC.apply(0,arguments),d=this.getTimezoneOffset(f),f+=d,b=this.getTimezoneOffset(f),d!==b?f+=b-d:d-36E5!==this.getTimezoneOffset(f-36E5)||a.isSafari||(f-=36E5)):f=(new this.Date(h,u,r(v,1),r(q,0),r(l,0),r(g,0))).getTime();
108
- return f},timezoneOffsetFunction:function(){var h=this,r=this.options,v=u.moment;if(!this.useUTC)return function(a){return 6E4*(new Date(a)).getTimezoneOffset()};if(r.timezone){if(v)return function(a){return 6E4*-v.tz(a,r.timezone).utcOffset()};a.error(25)}return this.useUTC&&r.getTimezoneOffset?function(a){return 6E4*r.getTimezoneOffset(a)}:function(){return 6E4*(h.timezoneOffset||0)}},dateFormat:function(h,r,v){if(!a.defined(r)||isNaN(r))return a.defaultOptions.lang.invalidDate||"";h=a.pick(h,"%Y-%m-%d %H:%M:%S");
109
- var q=this,l=new this.Date(r),g=this.get("Hours",l),f=this.get("Day",l),d=this.get("Date",l),b=this.get("Month",l),c=this.get("FullYear",l),e=a.defaultOptions.lang,n=e.weekdays,w=e.shortWeekdays,z=a.pad,l=a.extend({a:w?w[f]:n[f].substr(0,3),A:n[f],d:z(d),e:z(d,2," "),w:f,b:e.shortMonths[b],B:e.months[b],m:z(b+1),o:b+1,y:c.toString().substr(2,2),Y:c,H:z(g),k:g,I:z(g%12||12),l:g%12||12,M:z(q.get("Minutes",l)),p:12>g?"AM":"PM",P:12>g?"am":"pm",S:z(l.getSeconds()),L:z(Math.floor(r%1E3),3)},a.dateFormats);
110
- a.objectEach(l,function(a,b){for(;-1!==h.indexOf("%"+b);)h=h.replace("%"+b,"function"===typeof a?a.call(q,r):a)});return v?h.substr(0,1).toUpperCase()+h.substr(1):h},resolveDTLFormat:function(h){return a.isObject(h,!0)?h:(h=a.splat(h),{main:h[0],from:h[1],to:h[2]})},getTimeTicks:function(a,u,v,q){var l=this,g=[],f,d={},b;f=new l.Date(u);var c=a.unitRange,e=a.count||1,n;q=r(q,1);if(B(u)){l.set("Milliseconds",f,c>=h.second?0:e*Math.floor(l.get("Milliseconds",f)/e));c>=h.second&&l.set("Seconds",f,c>=
111
- h.minute?0:e*Math.floor(l.get("Seconds",f)/e));c>=h.minute&&l.set("Minutes",f,c>=h.hour?0:e*Math.floor(l.get("Minutes",f)/e));c>=h.hour&&l.set("Hours",f,c>=h.day?0:e*Math.floor(l.get("Hours",f)/e));c>=h.day&&l.set("Date",f,c>=h.month?1:Math.max(1,e*Math.floor(l.get("Date",f)/e)));c>=h.month&&(l.set("Month",f,c>=h.year?0:e*Math.floor(l.get("Month",f)/e)),b=l.get("FullYear",f));c>=h.year&&l.set("FullYear",f,b-b%e);c===h.week&&(b=l.get("Day",f),l.set("Date",f,l.get("Date",f)-b+q+(b<q?-7:0)));b=l.get("FullYear",
112
- f);q=l.get("Month",f);var w=l.get("Date",f),z=l.get("Hours",f);u=f.getTime();l.variableTimezone&&(n=v-u>4*h.month||l.getTimezoneOffset(u)!==l.getTimezoneOffset(v));u=f.getTime();for(f=1;u<v;)g.push(u),u=c===h.year?l.makeTime(b+f*e,0):c===h.month?l.makeTime(b,q+f*e):!n||c!==h.day&&c!==h.week?n&&c===h.hour&&1<e?l.makeTime(b,q,w,z+f*e):u+c*e:l.makeTime(b,q,w+f*e*(c===h.day?1:7)),f++;g.push(u);c<=h.hour&&1E4>g.length&&g.forEach(function(a){0===a%18E5&&"000000000"===l.dateFormat("%H%M%S%L",a)&&(d[a]="day")})}g.info=
113
- y(a,{higherRanks:d,totalRange:c*e});return g}}});J(G,"parts/Options.js",[G["parts/Globals.js"]],function(a){var B=a.color,y=a.merge;a.defaultOptions={colors:"#7cb5ec #434348 #90ed7d #f7a35c #8085e9 #f15c80 #e4d354 #2b908f #f45b5b #91e8e1".split(" "),symbols:["circle","diamond","square","triangle","triangle-down"],lang:{loading:"Loading...",months:"January February March April May June July August September October November December".split(" "),shortMonths:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),
8
+ (function(P,J){"object"===typeof module&&module.exports?(J["default"]=J,module.exports=P.document?J(P):J):"function"===typeof define&&define.amd?define("highcharts/highcharts-gantt",function(){return J(P)}):(P.Highcharts&&P.Highcharts.error(16,!0),P.Highcharts=J(P))})("undefined"!==typeof window?window:this,function(P){function J(a,C,D,z){a.hasOwnProperty(C)||(a[C]=z.apply(null,D))}var H={};J(H,"parts/Globals.js",[],function(){var a="undefined"===typeof P?"undefined"!==typeof window?window:{}:P,C=
9
+ a.document,D=a.navigator&&a.navigator.userAgent||"",z=C&&C.createElementNS&&!!C.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect,l=/(edge|msie|trident)/i.test(D)&&!a.opera,e=-1!==D.indexOf("Firefox"),t=-1!==D.indexOf("Chrome"),r=e&&4>parseInt(D.split("Firefox/")[1],10);return{product:"Highcharts",version:"7.1.2",deg2rad:2*Math.PI/360,doc:C,hasBidiBug:r,hasTouch:C&&"undefined"!==typeof C.documentElement.ontouchstart,isMS:l,isWebKit:-1!==D.indexOf("AppleWebKit"),isFirefox:e,isChrome:t,
10
+ isSafari:!t&&-1!==D.indexOf("Safari"),isTouchDevice:/(Mobile|Android|Windows Phone)/.test(D),SVG_NS:"http://www.w3.org/2000/svg",chartCount:0,seriesTypes:{},symbolSizes:{},svg:z,win:a,marginNames:["plotTop","marginRight","marginBottom","plotLeft"],noop:function(){},charts:[],dateFormats:{}}});J(H,"parts/Utilities.js",[H["parts/Globals.js"]],function(a){a.timers=[];var C=a.charts,D=a.doc,z=a.win;a.error=function(l,e,t){var r=a.isNumber(l)?"Highcharts error #"+l+": www.highcharts.com/errors/"+l:l,w=
11
+ function(){if(e)throw Error(r);z.console&&console.log(r)};t?a.fireEvent(t,"displayError",{code:l,message:r},w):w()};a.Fx=function(a,e,t){this.options=e;this.elem=a;this.prop=t};a.Fx.prototype={dSetter:function(){var a=this.paths[0],e=this.paths[1],t=[],r=this.now,w=a.length,x;if(1===r)t=this.toD;else if(w===e.length&&1>r)for(;w--;)x=parseFloat(a[w]),t[w]=isNaN(x)?e[w]:r*parseFloat(e[w]-x)+x;else t=e;this.elem.attr("d",t,null,!0)},update:function(){var a=this.elem,e=this.prop,t=this.now,r=this.options.step;
12
+ if(this[e+"Setter"])this[e+"Setter"]();else a.attr?a.element&&a.attr(e,t,null,!0):a.style[e]=t+this.unit;r&&r.call(a,t,this)},run:function(l,e,t){var r=this,w=r.options,x=function(a){return x.stopped?!1:r.step(a)},p=z.requestAnimationFrame||function(a){setTimeout(a,13)},h=function(){for(var k=0;k<a.timers.length;k++)a.timers[k]()||a.timers.splice(k--,1);a.timers.length&&p(h)};l!==e||this.elem["forceAnimate:"+this.prop]?(this.startTime=+new Date,this.start=l,this.end=e,this.unit=t,this.now=this.start,
13
+ this.pos=0,x.elem=this.elem,x.prop=this.prop,x()&&1===a.timers.push(x)&&p(h)):(delete w.curAnim[this.prop],w.complete&&0===Object.keys(w.curAnim).length&&w.complete.call(this.elem))},step:function(l){var e=+new Date,t,r=this.options,w=this.elem,x=r.complete,p=r.duration,h=r.curAnim;w.attr&&!w.element?l=!1:l||e>=p+this.startTime?(this.now=this.end,this.pos=1,this.update(),t=h[this.prop]=!0,a.objectEach(h,function(a){!0!==a&&(t=!1)}),t&&x&&x.call(w),l=!1):(this.pos=r.easing((e-this.startTime)/p),this.now=
14
+ this.start+(this.end-this.start)*this.pos,this.update(),l=!0);return l},initPath:function(l,e,t){function r(b){var c,a;for(d=b.length;d--;)c="M"===b[d]||"L"===b[d],a=/[a-zA-Z]/.test(b[d+3]),c&&a&&b.splice(d+1,0,b[d+1],b[d+2],b[d+1],b[d+2])}function w(b,a){for(;b.length<c;){b[0]=a[c-b.length];var n=b.slice(0,g);[].splice.apply(b,[0,0].concat(n));f&&(n=b.slice(b.length-g),[].splice.apply(b,[b.length,0].concat(n)),d--)}b[0]="M"}function x(a,d){for(var n=(c-a.length)/g;0<n&&n--;)b=a.slice().splice(a.length/
15
+ y-g,g*y),b[0]=d[c-g-n*g],v&&(b[g-6]=b[g-2],b[g-5]=b[g-1]),[].splice.apply(a,[a.length/y,0].concat(b)),f&&n--}e=e||"";var p,h=l.startX,k=l.endX,v=-1<e.indexOf("C"),g=v?7:3,c,b,d;e=e.split(" ");t=t.slice();var f=l.isArea,y=f?2:1,u;v&&(r(e),r(t));if(h&&k){for(d=0;d<h.length;d++)if(h[d]===k[0]){p=d;break}else if(h[0]===k[k.length-h.length+d]){p=d;u=!0;break}else if(h[h.length-1]===k[k.length-h.length+d]){p=h.length-d;break}"undefined"===typeof p&&(e=[])}e.length&&a.isNumber(p)&&(c=t.length+p*y*g,u?(w(e,
16
+ t),x(t,e)):(w(t,e),x(e,t)));return[e,t]},fillSetter:function(){a.Fx.prototype.strokeSetter.apply(this,arguments)},strokeSetter:function(){this.elem.attr(this.prop,a.color(this.start).tweenTo(a.color(this.end),this.pos),null,!0)}};a.merge=function(){var l,e=arguments,t,r={},w=function(e,p){"object"!==typeof e&&(e={});a.objectEach(p,function(h,k){!a.isObject(h,!0)||a.isClass(h)||a.isDOMElement(h)?e[k]=p[k]:e[k]=w(e[k]||{},h)});return e};!0===e[0]&&(r=e[1],e=Array.prototype.slice.call(e,2));t=e.length;
17
+ for(l=0;l<t;l++)r=w(r,e[l]);return r};a.pInt=function(a,e){return parseInt(a,e||10)};a.isString=function(a){return"string"===typeof a};a.isArray=function(a){a=Object.prototype.toString.call(a);return"[object Array]"===a||"[object Array Iterator]"===a};a.isObject=function(l,e){return!!l&&"object"===typeof l&&(!e||!a.isArray(l))};a.isDOMElement=function(l){return a.isObject(l)&&"number"===typeof l.nodeType};a.isClass=function(l){var e=l&&l.constructor;return!(!a.isObject(l,!0)||a.isDOMElement(l)||!e||
18
+ !e.name||"Object"===e.name)};a.isNumber=function(a){return"number"===typeof a&&!isNaN(a)&&Infinity>a&&-Infinity<a};a.erase=function(a,e){for(var l=a.length;l--;)if(a[l]===e){a.splice(l,1);break}};a.defined=function(a){return"undefined"!==typeof a&&null!==a};a.attr=function(l,e,t){var r;a.isString(e)?a.defined(t)?l.setAttribute(e,t):l&&l.getAttribute&&((r=l.getAttribute(e))||"class"!==e||(r=l.getAttribute(e+"Name"))):a.defined(e)&&a.isObject(e)&&a.objectEach(e,function(a,e){l.setAttribute(e,a)});return r};
19
+ a.splat=function(l){return a.isArray(l)?l:[l]};a.syncTimeout=function(a,e,t){if(e)return setTimeout(a,e,t);a.call(0,t)};a.clearTimeout=function(l){a.defined(l)&&clearTimeout(l)};a.extend=function(a,e){var l;a||(a={});for(l in e)a[l]=e[l];return a};a.pick=function(){var a=arguments,e,t,r=a.length;for(e=0;e<r;e++)if(t=a[e],"undefined"!==typeof t&&null!==t)return t};a.css=function(l,e){a.isMS&&!a.svg&&e&&"undefined"!==typeof e.opacity&&(e.filter="alpha(opacity\x3d"+100*e.opacity+")");a.extend(l.style,
20
+ e)};a.createElement=function(l,e,t,r,w){l=D.createElement(l);var x=a.css;e&&a.extend(l,e);w&&x(l,{padding:"0",border:"none",margin:"0"});t&&x(l,t);r&&r.appendChild(l);return l};a.extendClass=function(l,e){var t=function(){};t.prototype=new l;a.extend(t.prototype,e);return t};a.pad=function(a,e,t){return Array((e||2)+1-String(a).replace("-","").length).join(t||"0")+a};a.relativeLength=function(a,e,t){return/%$/.test(a)?e*parseFloat(a)/100+(t||0):parseFloat(a)};a.wrap=function(a,e,t){var l=a[e];a[e]=
21
+ function(){var a=Array.prototype.slice.call(arguments),e=arguments,p=this;p.proceed=function(){l.apply(p,arguments.length?arguments:e)};a.unshift(l);a=t.apply(this,a);p.proceed=null;return a}};a.datePropsToTimestamps=function(l){a.objectEach(l,function(e,t){a.isObject(e)&&"function"===typeof e.getTime?l[t]=e.getTime():(a.isObject(e)||a.isArray(e))&&a.datePropsToTimestamps(e)})};a.formatSingle=function(l,e,t){var r=/\.([0-9])/,w=a.defaultOptions.lang;/f$/.test(l)?(t=(t=l.match(r))?t[1]:-1,null!==e&&
22
+ (e=a.numberFormat(e,t,w.decimalPoint,-1<l.indexOf(",")?w.thousandsSep:""))):e=(t||a.time).dateFormat(l,e);return e};a.format=function(l,e,t){for(var r="{",w=!1,x,p,h,k,v=[],g;l;){r=l.indexOf(r);if(-1===r)break;x=l.slice(0,r);if(w){x=x.split(":");p=x.shift().split(".");k=p.length;g=e;for(h=0;h<k;h++)g&&(g=g[p[h]]);x.length&&(g=a.formatSingle(x.join(":"),g,t));v.push(g)}else v.push(x);l=l.slice(r+1);r=(w=!w)?"}":"{"}v.push(l);return v.join("")};a.getMagnitude=function(a){return Math.pow(10,Math.floor(Math.log(a)/
23
+ Math.LN10))};a.normalizeTickInterval=function(l,e,t,r,w){var x,p=l;t=a.pick(t,1);x=l/t;e||(e=w?[1,1.2,1.5,2,2.5,3,4,5,6,8,10]:[1,2,2.5,5,10],!1===r&&(1===t?e=e.filter(function(a){return 0===a%1}):.1>=t&&(e=[1/t])));for(r=0;r<e.length&&!(p=e[r],w&&p*t>=l||!w&&x<=(e[r]+(e[r+1]||e[r]))/2);r++);return p=a.correctFloat(p*t,-Math.round(Math.log(.001)/Math.LN10))};a.stableSort=function(a,e){var l=a.length,r,w;for(w=0;w<l;w++)a[w].safeI=w;a.sort(function(a,p){r=e(a,p);return 0===r?a.safeI-p.safeI:r});for(w=
24
+ 0;w<l;w++)delete a[w].safeI};a.arrayMin=function(a){for(var e=a.length,l=a[0];e--;)a[e]<l&&(l=a[e]);return l};a.arrayMax=function(a){for(var e=a.length,l=a[0];e--;)a[e]>l&&(l=a[e]);return l};a.destroyObjectProperties=function(l,e){a.objectEach(l,function(a,r){a&&a!==e&&a.destroy&&a.destroy();delete l[r]})};a.discardElement=function(l){var e=a.garbageBin;e||(e=a.createElement("div"));l&&e.appendChild(l);e.innerHTML=""};a.correctFloat=function(a,e){return parseFloat(a.toPrecision(e||14))};a.setAnimation=
25
+ function(l,e){e.renderer.globalAnimation=a.pick(l,e.options.chart.animation,!0)};a.animObject=function(l){return a.isObject(l)?a.merge(l):{duration:l?500:0}};a.timeUnits={millisecond:1,second:1E3,minute:6E4,hour:36E5,day:864E5,week:6048E5,month:24192E5,year:314496E5};a.numberFormat=function(l,e,t,r){l=+l||0;e=+e;var w=a.defaultOptions.lang,x=(l.toString().split(".")[1]||"").split("e")[0].length,p,h,k=l.toString().split("e");-1===e?e=Math.min(x,20):a.isNumber(e)?e&&k[1]&&0>k[1]&&(p=e+ +k[1],0<=p?(k[0]=
26
+ (+k[0]).toExponential(p).split("e")[0],e=p):(k[0]=k[0].split(".")[0]||0,l=20>e?(k[0]*Math.pow(10,k[1])).toFixed(e):0,k[1]=0)):e=2;h=(Math.abs(k[1]?k[0]:l)+Math.pow(10,-Math.max(e,x)-1)).toFixed(e);x=String(a.pInt(h));p=3<x.length?x.length%3:0;t=a.pick(t,w.decimalPoint);r=a.pick(r,w.thousandsSep);l=(0>l?"-":"")+(p?x.substr(0,p)+r:"");l+=x.substr(p).replace(/(\d{3})(?=\d)/g,"$1"+r);e&&(l+=t+h.slice(-e));k[1]&&0!==+l&&(l+="e"+k[1]);return l};Math.easeInOutSine=function(a){return-.5*(Math.cos(Math.PI*
27
+ a)-1)};a.getStyle=function(l,e,t){if("width"===e)return Math.max(0,Math.min(l.offsetWidth,l.scrollWidth,l.getBoundingClientRect&&"none"===a.getStyle(l,"transform",!1)?Math.floor(l.getBoundingClientRect().width):Infinity)-a.getStyle(l,"padding-left")-a.getStyle(l,"padding-right"));if("height"===e)return Math.max(0,Math.min(l.offsetHeight,l.scrollHeight)-a.getStyle(l,"padding-top")-a.getStyle(l,"padding-bottom"));z.getComputedStyle||a.error(27,!0);if(l=z.getComputedStyle(l,void 0))l=l.getPropertyValue(e),
28
+ a.pick(t,"opacity"!==e)&&(l=a.pInt(l));return l};a.inArray=function(a,e,t){return e.indexOf(a,t)};a.find=Array.prototype.find?function(a,e){return a.find(e)}:function(a,e){var l,r=a.length;for(l=0;l<r;l++)if(e(a[l],l))return a[l]};a.keys=Object.keys;a.offset=function(a){var e=D.documentElement;a=a.parentElement||a.parentNode?a.getBoundingClientRect():{top:0,left:0};return{top:a.top+(z.pageYOffset||e.scrollTop)-(e.clientTop||0),left:a.left+(z.pageXOffset||e.scrollLeft)-(e.clientLeft||0)}};a.stop=function(l,
29
+ e){for(var t=a.timers.length;t--;)a.timers[t].elem!==l||e&&e!==a.timers[t].prop||(a.timers[t].stopped=!0)};a.objectEach=function(a,e,t){for(var r in a)a.hasOwnProperty(r)&&e.call(t||a[r],a[r],r,a)};a.objectEach({map:"map",each:"forEach",grep:"filter",reduce:"reduce",some:"some"},function(l,e){a[e]=function(a){return Array.prototype[l].apply(a,[].slice.call(arguments,1))}});a.addEvent=function(l,e,t,r){void 0===r&&(r={});var w,x=l.addEventListener||a.addEventListenerPolyfill;w="function"===typeof l&&
30
+ l.prototype?l.prototype.protoEvents=l.prototype.protoEvents||{}:l.hcEvents=l.hcEvents||{};a.Point&&l instanceof a.Point&&l.series&&l.series.chart&&(l.series.chart.runTrackerClick=!0);x&&x.call(l,e,t,!1);w[e]||(w[e]=[]);w[e].push({fn:t,order:"number"===typeof r.order?r.order:Infinity});w[e].sort(function(a,h){return a.order-h.order});return function(){a.removeEvent(l,e,t)}};a.removeEvent=function(l,e,t){function r(p,h){var k=l.removeEventListener||a.removeEventListenerPolyfill;k&&k.call(l,p,h,!1)}
31
+ function w(p){var h,k;l.nodeName&&(e?(h={},h[e]=!0):h=p,a.objectEach(h,function(a,g){if(p[g])for(k=p[g].length;k--;)r(g,p[g][k].fn)}))}var x;["protoEvents","hcEvents"].forEach(function(a){var h=l[a];h&&(e?(x=h[e]||[],t?(h[e]=x.filter(function(a){return t!==a.fn}),r(e,t)):(w(h),h[e]=[])):(w(h),l[a]={}))})};a.fireEvent=function(l,e,t,r){var w,x;t=t||{};D.createEvent&&(l.dispatchEvent||l.fireEvent)?(w=D.createEvent("Events"),w.initEvent(e,!0,!0),a.extend(w,t),l.dispatchEvent?l.dispatchEvent(w):l.fireEvent(e,
32
+ w)):(t.target||a.extend(t,{preventDefault:function(){t.defaultPrevented=!0},target:l,type:e}),function(a,h){void 0===a&&(a=[]);void 0===h&&(h=[]);var k=0,p=0,g=a.length+h.length;for(x=0;x<g;x++)!1===(a[k]?h[p]?a[k].order<=h[p].order?a[k++]:h[p++]:a[k++]:h[p++]).fn.call(l,t)&&t.preventDefault()}(l.protoEvents&&l.protoEvents[e],l.hcEvents&&l.hcEvents[e]));r&&!t.defaultPrevented&&r.call(l,t)};a.animate=function(l,e,t){var r,w="",x,p,h;a.isObject(t)||(h=arguments,t={duration:h[2],easing:h[3],complete:h[4]});
33
+ a.isNumber(t.duration)||(t.duration=400);t.easing="function"===typeof t.easing?t.easing:Math[t.easing]||Math.easeInOutSine;t.curAnim=a.merge(e);a.objectEach(e,function(h,v){a.stop(l,v);p=new a.Fx(l,t,v);x=null;"d"===v?(p.paths=p.initPath(l,l.d,e.d),p.toD=e.d,r=0,x=1):l.attr?r=l.attr(v):(r=parseFloat(a.getStyle(l,v))||0,"opacity"!==v&&(w="px"));x||(x=h);x&&x.match&&x.match("px")&&(x=x.replace(/px/g,""));p.run(r,x,w)})};a.seriesType=function(l,e,t,r,w){var x=a.getOptions(),p=a.seriesTypes;x.plotOptions[l]=
34
+ a.merge(x.plotOptions[e],t);p[l]=a.extendClass(p[e]||function(){},r);p[l].prototype.type=l;w&&(p[l].prototype.pointClass=a.extendClass(a.Point,w));return p[l]};a.uniqueKey=function(){var a=Math.random().toString(36).substring(2,9),e=0;return function(){return"highcharts-"+a+"-"+e++}}();a.isFunction=function(a){return"function"===typeof a};z.jQuery&&(z.jQuery.fn.highcharts=function(){var l=[].slice.call(arguments);if(this[0])return l[0]?(new (a[a.isString(l[0])?l.shift():"Chart"])(this[0],l[0],l[1]),
35
+ this):C[a.attr(this[0],"data-highcharts-chart")]})});J(H,"parts/Color.js",[H["parts/Globals.js"]],function(a){var C=a.isNumber,D=a.merge,z=a.pInt;a.Color=function(l){if(!(this instanceof a.Color))return new a.Color(l);this.init(l)};a.Color.prototype={parsers:[{regex:/rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]?(?:\.[0-9]+)?)\s*\)/,parse:function(a){return[z(a[1]),z(a[2]),z(a[3]),parseFloat(a[4],10)]}},{regex:/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/,
36
+ parse:function(a){return[z(a[1]),z(a[2]),z(a[3]),1]}}],names:{white:"#ffffff",black:"#000000"},init:function(l){var e,t,r,w;if((this.input=l=this.names[l&&l.toLowerCase?l.toLowerCase():""]||l)&&l.stops)this.stops=l.stops.map(function(e){return new a.Color(e[1])});else if(l&&l.charAt&&"#"===l.charAt()&&(e=l.length,l=parseInt(l.substr(1),16),7===e?t=[(l&16711680)>>16,(l&65280)>>8,l&255,1]:4===e&&(t=[(l&3840)>>4|(l&3840)>>8,(l&240)>>4|l&240,(l&15)<<4|l&15,1])),!t)for(r=this.parsers.length;r--&&!t;)w=
37
+ this.parsers[r],(e=w.regex.exec(l))&&(t=w.parse(e));this.rgba=t||[]},get:function(a){var e=this.input,l=this.rgba,r;this.stops?(r=D(e),r.stops=[].concat(r.stops),this.stops.forEach(function(e,x){r.stops[x]=[r.stops[x][0],e.get(a)]})):r=l&&C(l[0])?"rgb"===a||!a&&1===l[3]?"rgb("+l[0]+","+l[1]+","+l[2]+")":"a"===a?l[3]:"rgba("+l.join(",")+")":e;return r},brighten:function(a){var e,l=this.rgba;if(this.stops)this.stops.forEach(function(e){e.brighten(a)});else if(C(a)&&0!==a)for(e=0;3>e;e++)l[e]+=z(255*
38
+ a),0>l[e]&&(l[e]=0),255<l[e]&&(l[e]=255);return this},setOpacity:function(a){this.rgba[3]=a;return this},tweenTo:function(a,e){var l=this.rgba,r=a.rgba;r.length&&l&&l.length?(a=1!==r[3]||1!==l[3],e=(a?"rgba(":"rgb(")+Math.round(r[0]+(l[0]-r[0])*(1-e))+","+Math.round(r[1]+(l[1]-r[1])*(1-e))+","+Math.round(r[2]+(l[2]-r[2])*(1-e))+(a?","+(r[3]+(l[3]-r[3])*(1-e)):"")+")"):e=a.input||"none";return e}};a.color=function(l){return new a.Color(l)}});J(H,"parts/SvgRenderer.js",[H["parts/Globals.js"]],function(a){var C,
39
+ D,z=a.addEvent,l=a.animate,e=a.attr,t=a.charts,r=a.color,w=a.css,x=a.createElement,p=a.defined,h=a.deg2rad,k=a.destroyObjectProperties,v=a.doc,g=a.extend,c=a.erase,b=a.hasTouch,d=a.isArray,f=a.isFirefox,y=a.isMS,u=a.isObject,F=a.isString,m=a.isWebKit,n=a.merge,B=a.noop,E=a.objectEach,G=a.pick,A=a.pInt,q=a.removeEvent,I=a.splat,O=a.stop,Q=a.svg,L=a.SVG_NS,R=a.symbolSizes,N=a.win;C=a.SVGElement=function(){return this};g(C.prototype,{opacity:1,SVG_NS:L,textProps:"direction fontSize fontWeight fontFamily fontStyle color lineHeight width textAlign textDecoration textOverflow textOutline cursor".split(" "),
40
+ init:function(b,q){this.element="span"===q?x(q):v.createElementNS(this.SVG_NS,q);this.renderer=b;a.fireEvent(this,"afterInit")},animate:function(b,q,c){var d=a.animObject(G(q,this.renderer.globalAnimation,!0));G(v.hidden,v.msHidden,v.webkitHidden,!1)&&(d.duration=0);0!==d.duration?(c&&(d.complete=c),l(this,b,d)):(this.attr(b,void 0,c),a.objectEach(b,function(a,b){d.step&&d.step.call(this,a,{prop:b,pos:1})},this));return this},complexColor:function(b,q,c){var K=this.renderer,g,f,m,I,u,B,h,k,A,G,y,
41
+ L=[],v;a.fireEvent(this.renderer,"complexColor",{args:arguments},function(){b.radialGradient?f="radialGradient":b.linearGradient&&(f="linearGradient");f&&(m=b[f],u=K.gradients,h=b.stops,G=c.radialReference,d(m)&&(b[f]=m={x1:m[0],y1:m[1],x2:m[2],y2:m[3],gradientUnits:"userSpaceOnUse"}),"radialGradient"===f&&G&&!p(m.gradientUnits)&&(I=m,m=n(m,K.getRadialAttr(G,I),{gradientUnits:"userSpaceOnUse"})),E(m,function(a,b){"id"!==b&&L.push(b,a)}),E(h,function(a){L.push(a)}),L=L.join(","),u[L]?y=u[L].attr("id"):
42
+ (m.id=y=a.uniqueKey(),u[L]=B=K.createElement(f).attr(m).add(K.defs),B.radAttr=I,B.stops=[],h.forEach(function(b){0===b[1].indexOf("rgba")?(g=a.color(b[1]),k=g.get("rgb"),A=g.get("a")):(k=b[1],A=1);b=K.createElement("stop").attr({offset:b[0],"stop-color":k,"stop-opacity":A}).add(B);B.stops.push(b)})),v="url("+K.url+"#"+y+")",c.setAttribute(q,v),c.gradient=L,b.toString=function(){return v})})},applyTextOutline:function(b){var q=this.element,c,d,K;-1!==b.indexOf("contrast")&&(b=b.replace(/contrast/g,
43
+ this.renderer.getContrast(q.style.fill)));b=b.split(" ");c=b[b.length-1];(d=b[0])&&"none"!==d&&a.svg&&(this.fakeTS=!0,b=[].slice.call(q.getElementsByTagName("tspan")),this.ySetter=this.xSetter,d=d.replace(/(^[\d\.]+)(.*?)$/g,function(a,b,q){return 2*b+q}),this.removeTextOutline(b),K=q.firstChild,b.forEach(function(a,b){0===b&&(a.setAttribute("x",q.getAttribute("x")),b=q.getAttribute("y"),a.setAttribute("y",b||0),null===b&&q.setAttribute("y",0));a=a.cloneNode(1);e(a,{"class":"highcharts-text-outline",
44
+ fill:c,stroke:c,"stroke-width":d,"stroke-linejoin":"round"});q.insertBefore(a,K)}))},removeTextOutline:function(a){for(var b=a.length,q;b--;)q=a[b],"highcharts-text-outline"===q.getAttribute("class")&&c(a,this.element.removeChild(q))},symbolCustomAttribs:"x y width height r start end innerR anchorX anchorY rounded".split(" "),attr:function(b,q,c,d){var f,g=this.element,K,n=this,m,I,u=this.symbolCustomAttribs;"string"===typeof b&&void 0!==q&&(f=b,b={},b[f]=q);"string"===typeof b?n=(this[b+"Getter"]||
45
+ this._defaultGetter).call(this,b,g):(E(b,function(q,c){m=!1;d||O(this,c);this.symbolName&&-1!==a.inArray(c,u)&&(K||(this.symbolAttr(b),K=!0),m=!0);!this.rotation||"x"!==c&&"y"!==c||(this.doTransform=!0);m||(I=this[c+"Setter"]||this._defaultSetter,I.call(this,q,c,g),!this.styledMode&&this.shadows&&/^(width|height|visibility|x|y|d|transform|cx|cy|r)$/.test(c)&&this.updateShadows(c,q,I))},this),this.afterSetters());c&&c.call(this);return n},afterSetters:function(){this.doTransform&&(this.updateTransform(),
46
+ this.doTransform=!1)},updateShadows:function(a,b,q){for(var c=this.shadows,d=c.length;d--;)q.call(c[d],"height"===a?Math.max(b-(c[d].cutHeight||0),0):"d"===a?this.d:b,a,c[d])},addClass:function(a,b){var q=this.attr("class")||"";b||(a=(a||"").split(/ /g).reduce(function(a,b){-1===q.indexOf(b)&&a.push(b);return a},q?[q]:[]).join(" "));a!==q&&this.attr("class",a);return this},hasClass:function(a){return-1!==(this.attr("class")||"").split(" ").indexOf(a)},removeClass:function(a){return this.attr("class",
47
+ (this.attr("class")||"").replace(a,""))},symbolAttr:function(a){var b=this;"x y r start end width height innerR anchorX anchorY clockwise".split(" ").forEach(function(q){b[q]=G(a[q],b[q])});b.attr({d:b.renderer.symbols[b.symbolName](b.x,b.y,b.width,b.height,b)})},clip:function(a){return this.attr("clip-path",a?"url("+this.renderer.url+"#"+a.id+")":"none")},crisp:function(a,b){var q;b=b||a.strokeWidth||0;q=Math.round(b)%2/2;a.x=Math.floor(a.x||this.x||0)+q;a.y=Math.floor(a.y||this.y||0)+q;a.width=
48
+ Math.floor((a.width||this.width||0)-2*q);a.height=Math.floor((a.height||this.height||0)-2*q);p(a.strokeWidth)&&(a.strokeWidth=b);return a},css:function(a){var b=this.styles,q={},c=this.element,d,f="",n,K=!b,m=["textOutline","textOverflow","width"];a&&a.color&&(a.fill=a.color);b&&E(a,function(a,c){a!==b[c]&&(q[c]=a,K=!0)});K&&(b&&(a=g(b,q)),a&&(null===a.width||"auto"===a.width?delete this.textWidth:"text"===c.nodeName.toLowerCase()&&a.width&&(d=this.textWidth=A(a.width))),this.styles=a,d&&!Q&&this.renderer.forExport&&
49
+ delete a.width,c.namespaceURI===this.SVG_NS?(n=function(a,b){return"-"+b.toLowerCase()},E(a,function(a,b){-1===m.indexOf(b)&&(f+=b.replace(/([A-Z])/g,n)+":"+a+";")}),f&&e(c,"style",f)):w(c,a),this.added&&("text"===this.element.nodeName&&this.renderer.buildText(this),a&&a.textOutline&&this.applyTextOutline(a.textOutline)));return this},getStyle:function(a){return N.getComputedStyle(this.element||this,"").getPropertyValue(a)},strokeWidth:function(){if(!this.renderer.styledMode)return this["stroke-width"]||
50
+ 0;var a=this.getStyle("stroke-width"),b;a.indexOf("px")===a.length-2?a=A(a):(b=v.createElementNS(L,"rect"),e(b,{width:a,"stroke-width":0}),this.element.parentNode.appendChild(b),a=b.getBBox().width,b.parentNode.removeChild(b));return a},on:function(a,q){var c=this,d=c.element;b&&"click"===a?(d.ontouchstart=function(a){c.touchEventFired=Date.now();a.preventDefault();q.call(d,a)},d.onclick=function(a){(-1===N.navigator.userAgent.indexOf("Android")||1100<Date.now()-(c.touchEventFired||0))&&q.call(d,
51
+ a)}):d["on"+a]=q;return this},setRadialReference:function(a){var b=this.renderer.gradients[this.element.gradient];this.element.radialReference=a;b&&b.radAttr&&b.animate(this.renderer.getRadialAttr(a,b.radAttr));return this},translate:function(a,b){return this.attr({translateX:a,translateY:b})},invert:function(a){this.inverted=a;this.updateTransform();return this},updateTransform:function(){var a=this.translateX||0,b=this.translateY||0,q=this.scaleX,c=this.scaleY,d=this.inverted,f=this.rotation,g=
52
+ this.matrix,n=this.element;d&&(a+=this.width,b+=this.height);a=["translate("+a+","+b+")"];p(g)&&a.push("matrix("+g.join(",")+")");d?a.push("rotate(90) scale(-1,1)"):f&&a.push("rotate("+f+" "+G(this.rotationOriginX,n.getAttribute("x"),0)+" "+G(this.rotationOriginY,n.getAttribute("y")||0)+")");(p(q)||p(c))&&a.push("scale("+G(q,1)+" "+G(c,1)+")");a.length&&n.setAttribute("transform",a.join(" "))},toFront:function(){var a=this.element;a.parentNode.appendChild(a);return this},align:function(a,b,q){var d,
53
+ f,g,n,m={};f=this.renderer;g=f.alignedObjects;var I,K;if(a){if(this.alignOptions=a,this.alignByTranslate=b,!q||F(q))this.alignTo=d=q||"renderer",c(g,this),g.push(this),q=null}else a=this.alignOptions,b=this.alignByTranslate,d=this.alignTo;q=G(q,f[d],f);d=a.align;f=a.verticalAlign;g=(q.x||0)+(a.x||0);n=(q.y||0)+(a.y||0);"right"===d?I=1:"center"===d&&(I=2);I&&(g+=(q.width-(a.width||0))/I);m[b?"translateX":"x"]=Math.round(g);"bottom"===f?K=1:"middle"===f&&(K=2);K&&(n+=(q.height-(a.height||0))/K);m[b?
54
+ "translateY":"y"]=Math.round(n);this[this.placed?"animate":"attr"](m);this.placed=!0;this.alignAttr=m;return this},getBBox:function(a,b){var q,c=this.renderer,d,f=this.element,n=this.styles,m,I=this.textStr,K,u=c.cache,E=c.cacheKeys,B=f.namespaceURI===this.SVG_NS,k;b=G(b,this.rotation);d=b*h;m=c.styledMode?f&&C.prototype.getStyle.call(f,"font-size"):n&&n.fontSize;p(I)&&(k=I.toString(),-1===k.indexOf("\x3c")&&(k=k.replace(/[0-9]/g,"0")),k+=["",b||0,m,this.textWidth,n&&n.textOverflow].join());k&&!a&&
55
+ (q=u[k]);if(!q){if(B||c.forExport){try{(K=this.fakeTS&&function(a){[].forEach.call(f.querySelectorAll(".highcharts-text-outline"),function(b){b.style.display=a})})&&K("none"),q=f.getBBox?g({},f.getBBox()):{width:f.offsetWidth,height:f.offsetHeight},K&&K("")}catch(Z){""}if(!q||0>q.width)q={width:0,height:0}}else q=this.htmlGetBBox();c.isSVG&&(a=q.width,c=q.height,B&&(q.height=c={"11px,17":14,"13px,20":16}[n&&n.fontSize+","+Math.round(c)]||c),b&&(q.width=Math.abs(c*Math.sin(d))+Math.abs(a*Math.cos(d)),
56
+ q.height=Math.abs(c*Math.cos(d))+Math.abs(a*Math.sin(d))));if(k&&0<q.height){for(;250<E.length;)delete u[E.shift()];u[k]||E.push(k);u[k]=q}}return q},show:function(a){return this.attr({visibility:a?"inherit":"visible"})},hide:function(){return this.attr({visibility:"hidden"})},fadeOut:function(a){var b=this;b.animate({opacity:0},{duration:a||150,complete:function(){b.attr({y:-9999})}})},add:function(a){var b=this.renderer,q=this.element,c;a&&(this.parentGroup=a);this.parentInverted=a&&a.inverted;
57
+ void 0!==this.textStr&&b.buildText(this);this.added=!0;if(!a||a.handleZ||this.zIndex)c=this.zIndexSetter();c||(a?a.element:b.box).appendChild(q);if(this.onAdd)this.onAdd();return this},safeRemoveChild:function(a){var b=a.parentNode;b&&b.removeChild(a)},destroy:function(){var a=this,b=a.element||{},q=a.renderer,d=q.isSVG&&"SPAN"===b.nodeName&&a.parentGroup,f=b.ownerSVGElement,g=a.clipPath;b.onclick=b.onmouseout=b.onmouseover=b.onmousemove=b.point=null;O(a);g&&f&&([].forEach.call(f.querySelectorAll("[clip-path],[CLIP-PATH]"),
58
+ function(a){-1<a.getAttribute("clip-path").indexOf(g.element.id)&&a.removeAttribute("clip-path")}),a.clipPath=g.destroy());if(a.stops){for(f=0;f<a.stops.length;f++)a.stops[f]=a.stops[f].destroy();a.stops=null}a.safeRemoveChild(b);for(q.styledMode||a.destroyShadows();d&&d.div&&0===d.div.childNodes.length;)b=d.parentGroup,a.safeRemoveChild(d.div),delete d.div,d=b;a.alignTo&&c(q.alignedObjects,a);E(a,function(b,q){delete a[q]})},shadow:function(a,b,q){var c=[],d,f,g=this.element,n,m,I,K;if(!a)this.destroyShadows();
59
+ else if(!this.shadows){m=G(a.width,3);I=(a.opacity||.15)/m;K=this.parentInverted?"(-1,-1)":"("+G(a.offsetX,1)+", "+G(a.offsetY,1)+")";for(d=1;d<=m;d++)f=g.cloneNode(0),n=2*m+1-2*d,e(f,{stroke:a.color||"#000000","stroke-opacity":I*d,"stroke-width":n,transform:"translate"+K,fill:"none"}),f.setAttribute("class",(f.getAttribute("class")||"")+" highcharts-shadow"),q&&(e(f,"height",Math.max(e(f,"height")-n,0)),f.cutHeight=n),b?b.element.appendChild(f):g.parentNode&&g.parentNode.insertBefore(f,g),c.push(f);
60
+ this.shadows=c}return this},destroyShadows:function(){(this.shadows||[]).forEach(function(a){this.safeRemoveChild(a)},this);this.shadows=void 0},xGetter:function(a){"circle"===this.element.nodeName&&("x"===a?a="cx":"y"===a&&(a="cy"));return this._defaultGetter(a)},_defaultGetter:function(a){a=G(this[a+"Value"],this[a],this.element?this.element.getAttribute(a):null,0);/^[\-0-9\.]+$/.test(a)&&(a=parseFloat(a));return a},dSetter:function(a,b,q){a&&a.join&&(a=a.join(" "));/(NaN| {2}|^$)/.test(a)&&(a=
61
+ "M 0 0");this[b]!==a&&(q.setAttribute(b,a),this[b]=a)},dashstyleSetter:function(a){var b,q=this["stroke-width"];"inherit"===q&&(q=1);if(a=a&&a.toLowerCase()){a=a.replace("shortdashdotdot","3,1,1,1,1,1,").replace("shortdashdot","3,1,1,1").replace("shortdot","1,1,").replace("shortdash","3,1,").replace("longdash","8,3,").replace(/dot/g,"1,3,").replace("dash","4,3,").replace(/,$/,"").split(",");for(b=a.length;b--;)a[b]=A(a[b])*q;a=a.join(",").replace(/NaN/g,"none");this.element.setAttribute("stroke-dasharray",
62
+ a)}},alignSetter:function(a){var b={left:"start",center:"middle",right:"end"};b[a]&&(this.alignValue=a,this.element.setAttribute("text-anchor",b[a]))},opacitySetter:function(a,b,q){this[b]=a;q.setAttribute(b,a)},titleSetter:function(a){var b=this.element.getElementsByTagName("title")[0];b||(b=v.createElementNS(this.SVG_NS,"title"),this.element.appendChild(b));b.firstChild&&b.removeChild(b.firstChild);b.appendChild(v.createTextNode(String(G(a,"")).replace(/<[^>]*>/g,"").replace(/&lt;/g,"\x3c").replace(/&gt;/g,
63
+ "\x3e")))},textSetter:function(a){a!==this.textStr&&(delete this.bBox,delete this.textPxLength,this.textStr=a,this.added&&this.renderer.buildText(this))},setTextPath:function(b,q){var c=this.element,d={textAnchor:"text-anchor"},f,g=!1,m,I=this.textPathWrapper,u=!I;q=n(!0,{enabled:!0,attributes:{dy:-5,startOffset:"50%",textAnchor:"middle"}},q);f=q.attributes;if(b&&q&&q.enabled){this.options&&this.options.padding&&(f.dx=-this.options.padding);I||(this.textPathWrapper=I=this.renderer.createElement("textPath"),
64
+ g=!0);m=I.element;(q=b.element.getAttribute("id"))||b.element.setAttribute("id",q=a.uniqueKey());if(u)for(b=c.getElementsByTagName("tspan");b.length;)b[0].setAttribute("y",0),m.appendChild(b[0]);g&&I.add({element:this.text?this.text.element:c});m.setAttributeNS("http://www.w3.org/1999/xlink","href",this.renderer.url+"#"+q);p(f.dy)&&(m.parentNode.setAttribute("dy",f.dy),delete f.dy);p(f.dx)&&(m.parentNode.setAttribute("dx",f.dx),delete f.dx);a.objectEach(f,function(a,b){m.setAttribute(d[b]||b,a)});
65
+ c.removeAttribute("transform");this.removeTextOutline.call(I,[].slice.call(c.getElementsByTagName("tspan")));this.text&&!this.renderer.styledMode&&this.attr({fill:"none","stroke-width":0});this.applyTextOutline=this.updateTransform=B}else I&&(delete this.updateTransform,delete this.applyTextOutline,this.destroyTextPath(c,b));return this},destroyTextPath:function(a,b){var q;b.element.setAttribute("id","");for(q=this.textPathWrapper.element.childNodes;q.length;)a.firstChild.appendChild(q[0]);a.firstChild.removeChild(this.textPathWrapper.element);
66
+ delete b.textPathWrapper},fillSetter:function(a,b,q){"string"===typeof a?q.setAttribute(b,a):a&&this.complexColor(a,b,q)},visibilitySetter:function(a,b,q){"inherit"===a?q.removeAttribute(b):this[b]!==a&&q.setAttribute(b,a);this[b]=a},zIndexSetter:function(a,b){var q=this.renderer,c=this.parentGroup,d=(c||q).element||q.box,f,g=this.element,n=!1,m,q=d===q.box;f=this.added;var I;p(a)?(g.setAttribute("data-z-index",a),a=+a,this[b]===a&&(f=!1)):p(this[b])&&g.removeAttribute("data-z-index");this[b]=a;if(f){(a=
67
+ this.zIndex)&&c&&(c.handleZ=!0);b=d.childNodes;for(I=b.length-1;0<=I&&!n;I--)if(c=b[I],f=c.getAttribute("data-z-index"),m=!p(f),c!==g)if(0>a&&m&&!q&&!I)d.insertBefore(g,b[I]),n=!0;else if(A(f)<=a||m&&(!p(a)||0<=a))d.insertBefore(g,b[I+1]||null),n=!0;n||(d.insertBefore(g,b[q?3:0]||null),n=!0)}return n},_defaultSetter:function(a,b,q){q.setAttribute(b,a)}});C.prototype.yGetter=C.prototype.xGetter;C.prototype.translateXSetter=C.prototype.translateYSetter=C.prototype.rotationSetter=C.prototype.verticalAlignSetter=
68
+ C.prototype.rotationOriginXSetter=C.prototype.rotationOriginYSetter=C.prototype.scaleXSetter=C.prototype.scaleYSetter=C.prototype.matrixSetter=function(a,b){this[b]=a;this.doTransform=!0};C.prototype["stroke-widthSetter"]=C.prototype.strokeSetter=function(a,b,q){this[b]=a;this.stroke&&this["stroke-width"]?(C.prototype.fillSetter.call(this,this.stroke,"stroke",q),q.setAttribute("stroke-width",this["stroke-width"]),this.hasStroke=!0):"stroke-width"===b&&0===a&&this.hasStroke&&(q.removeAttribute("stroke"),
69
+ this.hasStroke=!1)};D=a.SVGRenderer=function(){this.init.apply(this,arguments)};g(D.prototype,{Element:C,SVG_NS:L,init:function(a,b,q,c,d,g,n){var I;I=this.createElement("svg").attr({version:"1.1","class":"highcharts-root"});n||I.css(this.getStyle(c));c=I.element;a.appendChild(c);e(a,"dir","ltr");-1===a.innerHTML.indexOf("xmlns")&&e(c,"xmlns",this.SVG_NS);this.isSVG=!0;this.box=c;this.boxWrapper=I;this.alignedObjects=[];this.url=(f||m)&&v.getElementsByTagName("base").length?N.location.href.split("#")[0].replace(/<[^>]*>/g,
70
+ "").replace(/([\('\)])/g,"\\$1").replace(/ /g,"%20"):"";this.createElement("desc").add().element.appendChild(v.createTextNode("Created with Highcharts 7.1.2"));this.defs=this.createElement("defs").add();this.allowHTML=g;this.forExport=d;this.styledMode=n;this.gradients={};this.cache={};this.cacheKeys=[];this.imgCount=0;this.setSize(b,q,!1);var u;f&&a.getBoundingClientRect&&(b=function(){w(a,{left:0,top:0});u=a.getBoundingClientRect();w(a,{left:Math.ceil(u.left)-u.left+"px",top:Math.ceil(u.top)-u.top+
71
+ "px"})},b(),this.unSubPixelFix=z(N,"resize",b))},definition:function(a){function b(a,c){var d;I(a).forEach(function(a){var f=q.createElement(a.tagName),g={};E(a,function(a,b){"tagName"!==b&&"children"!==b&&"textContent"!==b&&(g[b]=a)});f.attr(g);f.add(c||q.defs);a.textContent&&f.element.appendChild(v.createTextNode(a.textContent));b(a.children||[],f);d=f});return d}var q=this;return b(a)},getStyle:function(a){return this.style=g({fontFamily:'"Lucida Grande", "Lucida Sans Unicode", Arial, Helvetica, sans-serif',
72
+ fontSize:"12px"},a)},setStyle:function(a){this.boxWrapper.css(this.getStyle(a))},isHidden:function(){return!this.boxWrapper.getBBox().width},destroy:function(){var a=this.defs;this.box=null;this.boxWrapper=this.boxWrapper.destroy();k(this.gradients||{});this.gradients=null;a&&(this.defs=a.destroy());this.unSubPixelFix&&this.unSubPixelFix();return this.alignedObjects=null},createElement:function(a){var b=new this.Element;b.init(this,a);return b},draw:B,getRadialAttr:function(a,b){return{cx:a[0]-a[2]/
73
+ 2+b.cx*a[2],cy:a[1]-a[2]/2+b.cy*a[2],r:b.r*a[2]}},truncate:function(a,b,q,c,d,f,g){var n=this,m=a.rotation,I,u=c?1:0,E=(q||c).length,B=E,k=[],h=function(a){b.firstChild&&b.removeChild(b.firstChild);a&&b.appendChild(v.createTextNode(a))},A=function(f,m){m=m||f;if(void 0===k[m])if(b.getSubStringLength)try{k[m]=d+b.getSubStringLength(0,c?m+1:m)}catch(fa){""}else n.getSpanWidth&&(h(g(q||c,f)),k[m]=d+n.getSpanWidth(a,b));return k[m]},G,y;a.rotation=0;G=A(b.textContent.length);if(y=d+G>f){for(;u<=E;)B=
74
+ Math.ceil((u+E)/2),c&&(I=g(c,B)),G=A(B,I&&I.length-1),u===E?u=E+1:G>f?E=B-1:u=B;0===E?h(""):q&&E===q.length-1||h(I||g(q||c,B))}c&&c.splice(0,B);a.actualWidth=G;a.rotation=m;return y},escapes:{"\x26":"\x26amp;","\x3c":"\x26lt;","\x3e":"\x26gt;","'":"\x26#39;",'"':"\x26quot;"},buildText:function(a){var b=a.element,q=this,c=q.forExport,d=G(a.textStr,"").toString(),f=-1!==d.indexOf("\x3c"),g=b.childNodes,n,m=e(b,"x"),I=a.styles,u=a.textWidth,B=I&&I.lineHeight,k=I&&I.textOutline,h=I&&"ellipsis"===I.textOverflow,
75
+ y=I&&"nowrap"===I.whiteSpace,p=I&&I.fontSize,K,F,O=g.length,I=u&&!a.added&&this.box,R=function(a){var c;q.styledMode||(c=/(px|em)$/.test(a&&a.style.fontSize)?a.style.fontSize:p||q.style.fontSize||12);return B?A(B):q.fontMetrics(c,a.getAttribute("style")?a:b).h},x=function(a,b){E(q.escapes,function(q,c){b&&-1!==b.indexOf(q)||(a=a.toString().replace(new RegExp(q,"g"),c))});return a},r=function(a,b){var q;q=a.indexOf("\x3c");a=a.substring(q,a.indexOf("\x3e")-q);q=a.indexOf(b+"\x3d");if(-1!==q&&(q=q+
76
+ b.length+1,b=a.charAt(q),'"'===b||"'"===b))return a=a.substring(q+1),a.substring(0,a.indexOf(b))};K=[d,h,y,B,k,p,u].join();if(K!==a.textCache){for(a.textCache=K;O--;)b.removeChild(g[O]);f||k||h||u||-1!==d.indexOf(" ")?(I&&I.appendChild(b),f?(d=q.styledMode?d.replace(/<(b|strong)>/g,'\x3cspan class\x3d"highcharts-strong"\x3e').replace(/<(i|em)>/g,'\x3cspan class\x3d"highcharts-emphasized"\x3e'):d.replace(/<(b|strong)>/g,'\x3cspan style\x3d"font-weight:bold"\x3e').replace(/<(i|em)>/g,'\x3cspan style\x3d"font-style:italic"\x3e'),
77
+ d=d.replace(/<a/g,"\x3cspan").replace(/<\/(b|strong|i|em|a)>/g,"\x3c/span\x3e").split(/<br.*?>/g)):d=[d],d=d.filter(function(a){return""!==a}),d.forEach(function(d,f){var g,I=0,E=0;d=d.replace(/^\s+|\s+$/g,"").replace(/<span/g,"|||\x3cspan").replace(/<\/span>/g,"\x3c/span\x3e|||");g=d.split("|||");g.forEach(function(d){if(""!==d||1===g.length){var B={},k=v.createElementNS(q.SVG_NS,"tspan"),A,G;(A=r(d,"class"))&&e(k,"class",A);if(A=r(d,"style"))A=A.replace(/(;| |^)color([ :])/,"$1fill$2"),e(k,"style",
78
+ A);(G=r(d,"href"))&&!c&&(e(k,"onclick",'location.href\x3d"'+G+'"'),e(k,"class","highcharts-anchor"),q.styledMode||w(k,{cursor:"pointer"}));d=x(d.replace(/<[a-zA-Z\/](.|\n)*?>/g,"")||" ");if(" "!==d){k.appendChild(v.createTextNode(d));I?B.dx=0:f&&null!==m&&(B.x=m);e(k,B);b.appendChild(k);!I&&F&&(!Q&&c&&w(k,{display:"block"}),e(k,"dy",R(k)));if(u){var K=d.replace(/([^\^])-/g,"$1- ").split(" "),B=!y&&(1<g.length||f||1<K.length);G=0;var O=R(k);if(h)n=q.truncate(a,k,d,void 0,0,Math.max(0,u-parseInt(p||
79
+ 12,10)),function(a,b){return a.substring(0,b)+"\u2026"});else if(B)for(;K.length;)K.length&&!y&&0<G&&(k=v.createElementNS(L,"tspan"),e(k,{dy:O,x:m}),A&&e(k,"style",A),k.appendChild(v.createTextNode(K.join(" ").replace(/- /g,"-"))),b.appendChild(k)),q.truncate(a,k,null,K,0===G?E:0,u,function(a,b){return K.slice(0,b).join(" ").replace(/- /g,"-")}),E=a.actualWidth,G++}I++}}});F=F||b.childNodes.length}),h&&n&&a.attr("title",x(a.textStr,["\x26lt;","\x26gt;"])),I&&I.removeChild(b),k&&a.applyTextOutline&&
80
+ a.applyTextOutline(k)):b.appendChild(v.createTextNode(x(d)))}},getContrast:function(a){a=r(a).rgba;a[0]*=1;a[1]*=1.2;a[2]*=.5;return 459<a[0]+a[1]+a[2]?"#000000":"#FFFFFF"},button:function(a,b,q,c,d,f,m,I,u,E){var B=this.label(a,b,q,u,null,null,E,null,"button"),k=0,h=this.styledMode;B.attr(n({padding:8,r:2},d));if(!h){var A,G,L,p;d=n({fill:"#f7f7f7",stroke:"#cccccc","stroke-width":1,style:{color:"#333333",cursor:"pointer",fontWeight:"normal"}},d);A=d.style;delete d.style;f=n(d,{fill:"#e6e6e6"},f);
81
+ G=f.style;delete f.style;m=n(d,{fill:"#e6ebf5",style:{color:"#000000",fontWeight:"bold"}},m);L=m.style;delete m.style;I=n(d,{style:{color:"#cccccc"}},I);p=I.style;delete I.style}z(B.element,y?"mouseover":"mouseenter",function(){3!==k&&B.setState(1)});z(B.element,y?"mouseout":"mouseleave",function(){3!==k&&B.setState(k)});B.setState=function(a){1!==a&&(B.state=k=a);B.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][a||
82
+ 0]);h||B.attr([d,f,m,I][a||0]).css([A,G,L,p][a||0])};h||B.attr(d).css(g({cursor:"default"},A));return B.on("click",function(a){3!==k&&c.call(B,a)})},crispLine:function(a,b){a[1]===a[4]&&(a[1]=a[4]=Math.round(a[1])-b%2/2);a[2]===a[5]&&(a[2]=a[5]=Math.round(a[2])+b%2/2);return a},path:function(a){var b=this.styledMode?{}:{fill:"none"};d(a)?b.d=a:u(a)&&g(b,a);return this.createElement("path").attr(b)},circle:function(a,b,q){a=u(a)?a:void 0===a?{}:{x:a,y:b,r:q};b=this.createElement("circle");b.xSetter=
83
+ b.ySetter=function(a,b,q){q.setAttribute("c"+b,a)};return b.attr(a)},arc:function(a,b,q,c,d,f){u(a)?(c=a,b=c.y,q=c.r,a=c.x):c={innerR:c,start:d,end:f};a=this.symbol("arc",a,b,q,q,c);a.r=q;return a},rect:function(a,b,q,c,d,f){d=u(a)?a.r:d;var g=this.createElement("rect");a=u(a)?a:void 0===a?{}:{x:a,y:b,width:Math.max(q,0),height:Math.max(c,0)};this.styledMode||(void 0!==f&&(a.strokeWidth=f,a=g.crisp(a)),a.fill="none");d&&(a.r=d);g.rSetter=function(a,b,q){g.r=a;e(q,{rx:a,ry:a})};g.rGetter=function(){return g.r};
84
+ return g.attr(a)},setSize:function(a,b,q){var c=this.alignedObjects,d=c.length;this.width=a;this.height=b;for(this.boxWrapper.animate({width:a,height:b},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:G(q,!0)?void 0:0});d--;)c[d].align()},g:function(a){var b=this.createElement("g");return a?b.attr({"class":"highcharts-"+a}):b},image:function(a,b,q,c,d,f){var n={preserveAspectRatio:"none"},m,I=function(a,b){a.setAttributeNS?a.setAttributeNS("http://www.w3.org/1999/xlink",
85
+ "href",b):a.setAttribute("hc-svg-href",b)},u=function(b){I(m.element,a);f.call(m,b)};1<arguments.length&&g(n,{x:b,y:q,width:c,height:d});m=this.createElement("image").attr(n);f?(I(m.element,"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw\x3d\x3d"),n=new N.Image,z(n,"load",u),n.src=a,n.complete&&u({})):I(m.element,a);return m},symbol:function(a,b,q,c,d,f){var n=this,m,I=/^url\((.*?)\)$/,u=I.test(a),B=!u&&(this.symbols[a]?a:"circle"),E=B&&this.symbols[B],k=p(b)&&E&&E.call(this.symbols,
86
+ Math.round(b),Math.round(q),c,d,f),h,A;E?(m=this.path(k),n.styledMode||m.attr("fill","none"),g(m,{symbolName:B,x:b,y:q,width:c,height:d}),f&&g(m,f)):u&&(h=a.match(I)[1],m=this.image(h),m.imgwidth=G(R[h]&&R[h].width,f&&f.width),m.imgheight=G(R[h]&&R[h].height,f&&f.height),A=function(){m.attr({width:m.width,height:m.height})},["width","height"].forEach(function(a){m[a+"Setter"]=function(a,b){var q={},c=this["img"+b],d="width"===b?"translateX":"translateY";this[b]=a;p(c)&&(f&&"within"===f.backgroundSize&&
87
+ this.width&&this.height&&(c=Math.round(c*Math.min(this.width/this.imgwidth,this.height/this.imgheight))),this.element&&this.element.setAttribute(b,c),this.alignByTranslate||(q[d]=((this[b]||0)-c)/2,this.attr(q)))}}),p(b)&&m.attr({x:b,y:q}),m.isImg=!0,p(m.imgwidth)&&p(m.imgheight)?A():(m.attr({width:0,height:0}),x("img",{onload:function(){var a=t[n.chartIndex];0===this.width&&(w(this,{position:"absolute",top:"-999em"}),v.body.appendChild(this));R[h]={width:this.width,height:this.height};m.imgwidth=
88
+ this.width;m.imgheight=this.height;m.element&&A();this.parentNode&&this.parentNode.removeChild(this);n.imgCount--;if(!n.imgCount&&a&&a.onload)a.onload()},src:h}),this.imgCount++));return m},symbols:{circle:function(a,b,q,c){return this.arc(a+q/2,b+c/2,q/2,c/2,{start:.5*Math.PI,end:2.5*Math.PI,open:!1})},square:function(a,b,q,c){return["M",a,b,"L",a+q,b,a+q,b+c,a,b+c,"Z"]},triangle:function(a,b,q,c){return["M",a+q/2,b,"L",a+q,b+c,a,b+c,"Z"]},"triangle-down":function(a,b,q,c){return["M",a,b,"L",a+q,
89
+ b,a+q/2,b+c,"Z"]},diamond:function(a,b,q,c){return["M",a+q/2,b,"L",a+q,b+c/2,a+q/2,b+c,a,b+c/2,"Z"]},arc:function(a,b,q,c,d){var f=d.start,g=d.r||q,n=d.r||c||q,m=d.end-.001;q=d.innerR;c=G(d.open,.001>Math.abs(d.end-d.start-2*Math.PI));var I=Math.cos(f),u=Math.sin(f),B=Math.cos(m),m=Math.sin(m),f=.001>d.end-f-Math.PI?0:1;d=["M",a+g*I,b+n*u,"A",g,n,0,f,G(d.clockwise,1),a+g*B,b+n*m];p(q)&&d.push(c?"M":"L",a+q*B,b+q*m,"A",q,q,0,f,0,a+q*I,b+q*u);d.push(c?"":"Z");return d},callout:function(a,b,q,c,d){var f=
90
+ Math.min(d&&d.r||0,q,c),g=f+6,n=d&&d.anchorX;d=d&&d.anchorY;var m;m=["M",a+f,b,"L",a+q-f,b,"C",a+q,b,a+q,b,a+q,b+f,"L",a+q,b+c-f,"C",a+q,b+c,a+q,b+c,a+q-f,b+c,"L",a+f,b+c,"C",a,b+c,a,b+c,a,b+c-f,"L",a,b+f,"C",a,b,a,b,a+f,b];n&&n>q?d>b+g&&d<b+c-g?m.splice(13,3,"L",a+q,d-6,a+q+6,d,a+q,d+6,a+q,b+c-f):m.splice(13,3,"L",a+q,c/2,n,d,a+q,c/2,a+q,b+c-f):n&&0>n?d>b+g&&d<b+c-g?m.splice(33,3,"L",a,d+6,a-6,d,a,d-6,a,b+f):m.splice(33,3,"L",a,c/2,n,d,a,c/2,a,b+f):d&&d>c&&n>a+g&&n<a+q-g?m.splice(23,3,"L",n+6,b+
91
+ c,n,b+c+6,n-6,b+c,a+f,b+c):d&&0>d&&n>a+g&&n<a+q-g&&m.splice(3,3,"L",n-6,b,n,b-6,n+6,b,q-f,b);return m}},clipRect:function(b,q,c,d){var f=a.uniqueKey()+"-",g=this.createElement("clipPath").attr({id:f}).add(this.defs);b=this.rect(b,q,c,d,0).add(g);b.id=f;b.clipPath=g;b.count=0;return b},text:function(a,b,q,c){var d={};if(c&&(this.allowHTML||!this.forExport))return this.html(a,b,q);d.x=Math.round(b||0);q&&(d.y=Math.round(q));p(a)&&(d.text=a);a=this.createElement("text").attr(d);c||(a.xSetter=function(a,
92
+ b,q){var c=q.getElementsByTagName("tspan"),d,f=q.getAttribute(b),g;for(g=0;g<c.length;g++)d=c[g],d.getAttribute(b)===f&&d.setAttribute(b,a);q.setAttribute(b,a)});return a},fontMetrics:function(a,b){a=!this.styledMode&&/px/.test(a)||!N.getComputedStyle?a||b&&b.style&&b.style.fontSize||this.style&&this.style.fontSize:b&&C.prototype.getStyle.call(b,"font-size");a=/px/.test(a)?A(a):12;b=24>a?a+3:Math.round(1.2*a);return{h:b,b:Math.round(.8*b),f:a}},rotCorr:function(a,b,q){var c=a;b&&q&&(c=Math.max(c*
93
+ Math.cos(b*h),4));return{x:-a/3*Math.sin(b*h),y:c}},label:function(b,c,d,f,m,I,u,B,E){var k=this,h=k.styledMode,A=k.g("button"!==E&&"label"),G=A.text=k.text("",0,0,u).attr({zIndex:1}),y,L,v=0,Q=3,F=0,O,e,R,x,K,r={},l,N,t=/^url\((.*?)\)$/.test(f),w=h||t,ea=function(){return h?y.strokeWidth()%2/2:(l?parseInt(l,10):0)%2/2},ba,z,D;E&&A.addClass("highcharts-"+E);ba=function(){var a=G.element.style,b={};L=(void 0===O||void 0===e||K)&&p(G.textStr)&&G.getBBox();A.width=(O||L.width||0)+2*Q+F;A.height=(e||
94
+ L.height||0)+2*Q;N=Q+Math.min(k.fontMetrics(a&&a.fontSize,G).b,L?L.height:Infinity);w&&(y||(A.box=y=k.symbols[f]||t?k.symbol(f):k.rect(),y.addClass(("button"===E?"":"highcharts-label-box")+(E?" highcharts-"+E+"-box":"")),y.add(A),a=ea(),b.x=a,b.y=(B?-N:0)+a),b.width=Math.round(A.width),b.height=Math.round(A.height),y.attr(g(b,r)),r={})};z=function(){var a=F+Q,b;b=B?0:N;p(O)&&L&&("center"===K||"right"===K)&&(a+={center:.5,right:1}[K]*(O-L.width));if(a!==G.x||b!==G.y)G.attr("x",a),G.hasBoxWidthChanged&&
95
+ (L=G.getBBox(!0),ba()),void 0!==b&&G.attr("y",b);G.x=a;G.y=b};D=function(a,b){y?y.attr(a,b):r[a]=b};A.onAdd=function(){G.add(A);A.attr({text:b||0===b?b:"",x:c,y:d});y&&p(m)&&A.attr({anchorX:m,anchorY:I})};A.widthSetter=function(b){O=a.isNumber(b)?b:null};A.heightSetter=function(a){e=a};A["text-alignSetter"]=function(a){K=a};A.paddingSetter=function(a){p(a)&&a!==Q&&(Q=A.padding=a,z())};A.paddingLeftSetter=function(a){p(a)&&a!==F&&(F=a,z())};A.alignSetter=function(a){a={left:0,center:.5,right:1}[a];
96
+ a!==v&&(v=a,L&&A.attr({x:R}))};A.textSetter=function(a){void 0!==a&&G.attr({text:a});ba();z()};A["stroke-widthSetter"]=function(a,b){a&&(w=!0);l=this["stroke-width"]=a;D(b,a)};h?A.rSetter=function(a,b){D(b,a)}:A.strokeSetter=A.fillSetter=A.rSetter=function(a,b){"r"!==b&&("fill"===b&&a&&(w=!0),A[b]=a);D(b,a)};A.anchorXSetter=function(a,b){m=A.anchorX=a;D(b,Math.round(a)-ea()-R)};A.anchorYSetter=function(a,b){I=A.anchorY=a;D(b,a-x)};A.xSetter=function(a){A.x=a;v&&(a-=v*((O||L.width)+2*Q),A["forceAnimate:x"]=
97
+ !0);R=Math.round(a);A.attr("translateX",R)};A.ySetter=function(a){x=A.y=Math.round(a);A.attr("translateY",x)};var M=A.css;u={css:function(a){if(a){var b={};a=n(a);A.textProps.forEach(function(q){void 0!==a[q]&&(b[q]=a[q],delete a[q])});G.css(b);"width"in b&&ba();"fontSize"in b&&(ba(),z())}return M.call(A,a)},getBBox:function(){return{width:L.width+2*Q,height:L.height+2*Q,x:L.x-Q,y:L.y-Q}},destroy:function(){q(A.element,"mouseenter");q(A.element,"mouseleave");G&&(G=G.destroy());y&&(y=y.destroy());
98
+ C.prototype.destroy.call(A);A=k=ba=z=D=null}};h||(u.shadow=function(a){a&&(ba(),y&&y.shadow(a));return A});return g(A,u)}});a.Renderer=D});J(H,"parts/Html.js",[H["parts/Globals.js"]],function(a){var C=a.attr,D=a.createElement,z=a.css,l=a.defined,e=a.extend,t=a.isFirefox,r=a.isMS,w=a.isWebKit,x=a.pick,p=a.pInt,h=a.SVGElement,k=a.SVGRenderer,v=a.win;e(h.prototype,{htmlCss:function(a){var c="SPAN"===this.element.tagName&&a&&"width"in a,b=x(c&&a.width,void 0),d;c&&(delete a.width,this.textWidth=b,d=!0);
99
+ a&&"ellipsis"===a.textOverflow&&(a.whiteSpace="nowrap",a.overflow="hidden");this.styles=e(this.styles,a);z(this.element,a);d&&this.htmlUpdateTransform();return this},htmlGetBBox:function(){var a=this.element;return{x:a.offsetLeft,y:a.offsetTop,width:a.offsetWidth,height:a.offsetHeight}},htmlUpdateTransform:function(){if(this.added){var a=this.renderer,c=this.element,b=this.translateX||0,d=this.translateY||0,f=this.x||0,k=this.y||0,u=this.textAlign||"left",h={left:0,center:.5,right:1}[u],m=this.styles,
100
+ n=m&&m.whiteSpace;z(c,{marginLeft:b,marginTop:d});!a.styledMode&&this.shadows&&this.shadows.forEach(function(a){z(a,{marginLeft:b+1,marginTop:d+1})});this.inverted&&[].forEach.call(c.childNodes,function(b){a.invertChild(b,c)});if("SPAN"===c.tagName){var m=this.rotation,B=this.textWidth&&p(this.textWidth),E=[m,u,c.innerHTML,this.textWidth,this.textAlign].join(),G;(G=B!==this.oldTextWidth)&&!(G=B>this.oldTextWidth)&&((G=this.textPxLength)||(z(c,{width:"",whiteSpace:n||"nowrap"}),G=c.offsetWidth),G=
101
+ G>B);G&&(/[ \-]/.test(c.textContent||c.innerText)||"ellipsis"===c.style.textOverflow)?(z(c,{width:B+"px",display:"block",whiteSpace:n||"normal"}),this.oldTextWidth=B,this.hasBoxWidthChanged=!0):this.hasBoxWidthChanged=!1;E!==this.cTT&&(n=a.fontMetrics(c.style.fontSize,c).b,!l(m)||m===(this.oldRotation||0)&&u===this.oldAlign||this.setSpanRotation(m,h,n),this.getSpanCorrection(!l(m)&&this.textPxLength||c.offsetWidth,n,h,m,u));z(c,{left:f+(this.xCorr||0)+"px",top:k+(this.yCorr||0)+"px"});this.cTT=E;
102
+ this.oldRotation=m;this.oldAlign=u}}else this.alignOnAdd=!0},setSpanRotation:function(a,c,b){var d={},f=this.renderer.getTransformKey();d[f]=d.transform="rotate("+a+"deg)";d[f+(t?"Origin":"-origin")]=d.transformOrigin=100*c+"% "+b+"px";z(this.element,d)},getSpanCorrection:function(a,c,b){this.xCorr=-a*b;this.yCorr=-c}});e(k.prototype,{getTransformKey:function(){return r&&!/Edge/.test(v.navigator.userAgent)?"-ms-transform":w?"-webkit-transform":t?"MozTransform":v.opera?"-o-transform":""},html:function(g,
103
+ c,b){var d=this.createElement("span"),f=d.element,k=d.renderer,u=k.isSVG,p=function(a,b){["opacity","visibility"].forEach(function(c){a[c+"Setter"]=function(d,f,q){var n=a.div?a.div.style:b;h.prototype[c+"Setter"].call(this,d,f,q);n&&(n[f]=d)}});a.addedSetters=!0},m=a.charts[k.chartIndex],m=m&&m.styledMode;d.textSetter=function(a){a!==f.innerHTML&&(delete this.bBox,delete this.oldTextWidth);this.textStr=a;f.innerHTML=x(a,"");d.doTransform=!0};u&&p(d,d.element.style);d.xSetter=d.ySetter=d.alignSetter=
104
+ d.rotationSetter=function(a,b){"align"===b&&(b="textAlign");d[b]=a;d.doTransform=!0};d.afterSetters=function(){this.doTransform&&(this.htmlUpdateTransform(),this.doTransform=!1)};d.attr({text:g,x:Math.round(c),y:Math.round(b)}).css({position:"absolute"});m||d.css({fontFamily:this.style.fontFamily,fontSize:this.style.fontSize});f.style.whiteSpace="nowrap";d.css=d.htmlCss;u&&(d.add=function(a){var b,c=k.box.parentNode,g=[];if(this.parentGroup=a){if(b=a.div,!b){for(;a;)g.push(a),a=a.parentGroup;g.reverse().forEach(function(a){function q(b,
105
+ q){a[q]=b;"translateX"===q?f.left=b+"px":f.top=b+"px";a.doTransform=!0}var f,n=C(a.element,"class");n&&(n={className:n});b=a.div=a.div||D("div",n,{position:"absolute",left:(a.translateX||0)+"px",top:(a.translateY||0)+"px",display:a.display,opacity:a.opacity,pointerEvents:a.styles&&a.styles.pointerEvents},b||c);f=b.style;e(a,{classSetter:function(a){return function(b){this.element.setAttribute("class",b);a.className=b}}(b),on:function(){g[0].div&&d.on.apply({element:g[0].div},arguments);return a},
106
+ translateXSetter:q,translateYSetter:q});a.addedSetters||p(a)})}}else b=c;b.appendChild(f);d.added=!0;d.alignOnAdd&&d.htmlUpdateTransform();return d});return d}})});J(H,"parts/Time.js",[H["parts/Globals.js"]],function(a){var C=a.defined,D=a.extend,z=a.merge,l=a.pick,e=a.timeUnits,t=a.win;a.Time=function(a){this.update(a,!1)};a.Time.prototype={defaultOptions:{},update:function(a){var e=l(a&&a.useUTC,!0),x=this;this.options=a=z(!0,this.options||{},a);this.Date=a.Date||t.Date||Date;this.timezoneOffset=
107
+ (this.useUTC=e)&&a.timezoneOffset;this.getTimezoneOffset=this.timezoneOffsetFunction();(this.variableTimezone=!(e&&!a.getTimezoneOffset&&!a.timezone))||this.timezoneOffset?(this.get=function(a,h){var k=h.getTime(),p=k-x.getTimezoneOffset(h);h.setTime(p);a=h["getUTC"+a]();h.setTime(k);return a},this.set=function(a,h,k){var p;if("Milliseconds"===a||"Seconds"===a||"Minutes"===a&&0===h.getTimezoneOffset()%60)h["set"+a](k);else p=x.getTimezoneOffset(h),p=h.getTime()-p,h.setTime(p),h["setUTC"+a](k),a=x.getTimezoneOffset(h),
108
+ p=h.getTime()+a,h.setTime(p)}):e?(this.get=function(a,h){return h["getUTC"+a]()},this.set=function(a,h,k){return h["setUTC"+a](k)}):(this.get=function(a,h){return h["get"+a]()},this.set=function(a,h,k){return h["set"+a](k)})},makeTime:function(e,t,x,p,h,k){var v,g,c;this.useUTC?(v=this.Date.UTC.apply(0,arguments),g=this.getTimezoneOffset(v),v+=g,c=this.getTimezoneOffset(v),g!==c?v+=c-g:g-36E5!==this.getTimezoneOffset(v-36E5)||a.isSafari||(v-=36E5)):v=(new this.Date(e,t,l(x,1),l(p,0),l(h,0),l(k,0))).getTime();
109
+ return v},timezoneOffsetFunction:function(){var e=this,l=this.options,x=t.moment;if(!this.useUTC)return function(a){return 6E4*(new Date(a)).getTimezoneOffset()};if(l.timezone){if(x)return function(a){return 6E4*-x.tz(a,l.timezone).utcOffset()};a.error(25)}return this.useUTC&&l.getTimezoneOffset?function(a){return 6E4*l.getTimezoneOffset(a)}:function(){return 6E4*(e.timezoneOffset||0)}},dateFormat:function(e,l,x){if(!a.defined(l)||isNaN(l))return a.defaultOptions.lang.invalidDate||"";e=a.pick(e,"%Y-%m-%d %H:%M:%S");
110
+ var p=this,h=new this.Date(l),k=this.get("Hours",h),v=this.get("Day",h),g=this.get("Date",h),c=this.get("Month",h),b=this.get("FullYear",h),d=a.defaultOptions.lang,f=d.weekdays,y=d.shortWeekdays,u=a.pad,h=a.extend({a:y?y[v]:f[v].substr(0,3),A:f[v],d:u(g),e:u(g,2," "),w:v,b:d.shortMonths[c],B:d.months[c],m:u(c+1),o:c+1,y:b.toString().substr(2,2),Y:b,H:u(k),k:k,I:u(k%12||12),l:k%12||12,M:u(p.get("Minutes",h)),p:12>k?"AM":"PM",P:12>k?"am":"pm",S:u(h.getSeconds()),L:u(Math.floor(l%1E3),3)},a.dateFormats);
111
+ a.objectEach(h,function(a,b){for(;-1!==e.indexOf("%"+b);)e=e.replace("%"+b,"function"===typeof a?a.call(p,l):a)});return x?e.substr(0,1).toUpperCase()+e.substr(1):e},resolveDTLFormat:function(e){return a.isObject(e,!0)?e:(e=a.splat(e),{main:e[0],from:e[1],to:e[2]})},getTimeTicks:function(a,t,x,p){var h=this,k=[],v,g={},c;v=new h.Date(t);var b=a.unitRange,d=a.count||1,f;p=l(p,1);if(C(t)){h.set("Milliseconds",v,b>=e.second?0:d*Math.floor(h.get("Milliseconds",v)/d));b>=e.second&&h.set("Seconds",v,b>=
112
+ e.minute?0:d*Math.floor(h.get("Seconds",v)/d));b>=e.minute&&h.set("Minutes",v,b>=e.hour?0:d*Math.floor(h.get("Minutes",v)/d));b>=e.hour&&h.set("Hours",v,b>=e.day?0:d*Math.floor(h.get("Hours",v)/d));b>=e.day&&h.set("Date",v,b>=e.month?1:Math.max(1,d*Math.floor(h.get("Date",v)/d)));b>=e.month&&(h.set("Month",v,b>=e.year?0:d*Math.floor(h.get("Month",v)/d)),c=h.get("FullYear",v));b>=e.year&&h.set("FullYear",v,c-c%d);b===e.week&&(c=h.get("Day",v),h.set("Date",v,h.get("Date",v)-c+p+(c<p?-7:0)));c=h.get("FullYear",
113
+ v);p=h.get("Month",v);var y=h.get("Date",v),u=h.get("Hours",v);t=v.getTime();h.variableTimezone&&(f=x-t>4*e.month||h.getTimezoneOffset(t)!==h.getTimezoneOffset(x));t=v.getTime();for(v=1;t<x;)k.push(t),t=b===e.year?h.makeTime(c+v*d,0):b===e.month?h.makeTime(c,p+v*d):!f||b!==e.day&&b!==e.week?f&&b===e.hour&&1<d?h.makeTime(c,p,y,u+v*d):t+b*d:h.makeTime(c,p,y+v*d*(b===e.day?1:7)),v++;k.push(t);b<=e.hour&&1E4>k.length&&k.forEach(function(a){0===a%18E5&&"000000000"===h.dateFormat("%H%M%S%L",a)&&(g[a]="day")})}k.info=
114
+ D(a,{higherRanks:g,totalRange:b*d});return k}}});J(H,"parts/Options.js",[H["parts/Globals.js"]],function(a){var C=a.color,D=a.merge;a.defaultOptions={colors:"#7cb5ec #434348 #90ed7d #f7a35c #8085e9 #f15c80 #e4d354 #2b908f #f45b5b #91e8e1".split(" "),symbols:["circle","diamond","square","triangle","triangle-down"],lang:{loading:"Loading...",months:"January February March April May June July August September October November December".split(" "),shortMonths:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),
114
115
  weekdays:"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),decimalPoint:".",numericSymbols:"kMGTPE".split(""),resetZoom:"Reset zoom",resetZoomTitle:"Reset zoom level 1:1",thousandsSep:" "},global:{},time:a.Time.prototype.defaultOptions,chart:{styledMode:!1,borderRadius:0,colorCount:10,defaultSeriesType:"line",ignoreHiddenSeries:!0,spacing:[10,10,15,10],resetZoomButton:{theme:{zIndex:6},position:{align:"right",x:-10,y:10}},width:null,height:null,borderColor:"#335cad",backgroundColor:"#ffffff",
115
116
  plotBorderColor:"#cccccc"},title:{text:"Chart title",align:"center",margin:15,widthAdjust:-44},subtitle:{text:"",align:"center",widthAdjust:-44},plotOptions:{},labels:{style:{position:"absolute",color:"#333333"}},legend:{enabled:!0,align:"center",alignColumns:!0,layout:"horizontal",labelFormatter:function(){return this.name},borderColor:"#999999",borderRadius:0,navigation:{activeColor:"#003399",inactiveColor:"#cccccc"},itemStyle:{color:"#333333",cursor:"pointer",fontSize:"12px",fontWeight:"bold",
116
117
  textOverflow:"ellipsis"},itemHoverStyle:{color:"#000000"},itemHiddenStyle:{color:"#cccccc"},shadow:!1,itemCheckboxStyle:{position:"absolute",width:"13px",height:"13px"},squareSymbol:!0,symbolPadding:5,verticalAlign:"bottom",x:0,y:0,title:{style:{fontWeight:"bold"}}},loading:{labelStyle:{fontWeight:"bold",position:"relative",top:"45%"},style:{position:"absolute",backgroundColor:"#ffffff",opacity:.5,textAlign:"center"}},tooltip:{enabled:!0,animation:a.svg,borderRadius:3,dateTimeLabelFormats:{millisecond:"%A, %b %e, %H:%M:%S.%L",
117
- second:"%A, %b %e, %H:%M:%S",minute:"%A, %b %e, %H:%M",hour:"%A, %b %e, %H:%M",day:"%A, %b %e, %Y",week:"Week from %A, %b %e, %Y",month:"%B %Y",year:"%Y"},footerFormat:"",padding:8,snap:a.isTouchDevice?25:10,headerFormat:'\x3cspan style\x3d"font-size: 10px"\x3e{point.key}\x3c/span\x3e\x3cbr/\x3e',pointFormat:'\x3cspan style\x3d"color:{point.color}"\x3e\u25cf\x3c/span\x3e {series.name}: \x3cb\x3e{point.y}\x3c/b\x3e\x3cbr/\x3e',backgroundColor:B("#f7f7f7").setOpacity(.85).get(),borderWidth:1,shadow:!0,
118
- style:{color:"#333333",cursor:"default",fontSize:"12px",pointerEvents:"none",whiteSpace:"nowrap"}},credits:{enabled:!0,href:"https://www.highcharts.com?credits",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#999999",fontSize:"9px"},text:"Highcharts.com"}};a.setOptions=function(C){a.defaultOptions=y(!0,a.defaultOptions,C);a.time.update(y(a.defaultOptions.global,a.defaultOptions.time),!1);return a.defaultOptions};a.getOptions=function(){return a.defaultOptions};
119
- a.defaultPlotOptions=a.defaultOptions.plotOptions;a.time=new a.Time(y(a.defaultOptions.global,a.defaultOptions.time));a.dateFormat=function(y,r,h){return a.time.dateFormat(y,r,h)}});J(G,"parts/Tick.js",[G["parts/Globals.js"]],function(a){var B=a.correctFloat,y=a.defined,C=a.destroyObjectProperties,r=a.fireEvent,h=a.isNumber,u=a.merge,t=a.pick,x=a.deg2rad;a.Tick=function(a,q,l,g,f){this.axis=a;this.pos=q;this.type=l||"";this.isNewLabel=this.isNew=!0;this.parameters=f||{};this.tickmarkOffset=this.parameters.tickmarkOffset;
120
- this.options=this.parameters.options;l||g||this.addLabel()};a.Tick.prototype={addLabel:function(){var h=this,q=h.axis,l=q.options,g=q.chart,f=q.categories,d=q.names,b=h.pos,c=t(h.options&&h.options.labels,l.labels),e=q.tickPositions,n=b===e[0],w=b===e[e.length-1],f=this.parameters.category||(f?t(f[b],d[b],b):b),z=h.label,e=e.info,F,m,p,A;q.isDatetimeAxis&&e&&(m=g.time.resolveDTLFormat(l.dateTimeLabelFormats[!l.grid&&e.higherRanks[b]||e.unitName]),F=m.main);h.isFirst=n;h.isLast=w;h.formatCtx={axis:q,
121
- chart:g,isFirst:n,isLast:w,dateTimeLabelFormat:F,tickPositionInfo:e,value:q.isLog?B(q.lin2log(f)):f,pos:b};l=q.labelFormatter.call(h.formatCtx,this.formatCtx);if(A=m&&m.list)h.shortenLabel=function(){for(p=0;p<A.length;p++)if(z.attr({text:q.labelFormatter.call(a.extend(h.formatCtx,{dateTimeLabelFormat:A[p]}))}),z.getBBox().width<q.getSlotWidth(h)-2*t(c.padding,5))return;z.attr({text:""})};if(y(z))z&&z.textStr!==l&&(!z.textWidth||c.style&&c.style.width||z.styles.width||z.css({width:null}),z.attr({text:l}));
122
- else{if(h.label=z=y(l)&&c.enabled?g.renderer.text(l,0,0,c.useHTML).add(q.labelGroup):null)g.styledMode||z.css(u(c.style)),z.textPxLength=z.getBBox().width;h.rotation=0}},getLabelSize:function(){return this.label?this.label.getBBox()[this.axis.horiz?"height":"width"]:0},handleOverflow:function(a){var q=this.axis,l=q.options.labels,g=a.x,f=q.chart.chartWidth,d=q.chart.spacing,b=t(q.labelLeft,Math.min(q.pos,d[3])),d=t(q.labelRight,Math.max(q.isRadial?0:q.pos+q.len,f-d[1])),c=this.label,e=this.rotation,
123
- n={left:0,center:.5,right:1}[q.labelAlign||c.attr("align")],w=c.getBBox().width,z=q.getSlotWidth(this),F=z,m=1,p,A={};if(e||"justify"!==t(l.overflow,"justify"))0>e&&g-n*w<b?p=Math.round(g/Math.cos(e*x)-b):0<e&&g+n*w>d&&(p=Math.round((f-g)/Math.cos(e*x)));else if(f=g+(1-n)*w,g-n*w<b?F=a.x+F*(1-n)-b:f>d&&(F=d-a.x+F*n,m=-1),F=Math.min(z,F),F<z&&"center"===q.labelAlign&&(a.x+=m*(z-F-n*(z-Math.min(w,F)))),w>F||q.autoRotation&&(c.styles||{}).width)p=F;p&&(this.shortenLabel?this.shortenLabel():(A.width=
124
- Math.floor(p),(l.style||{}).textOverflow||(A.textOverflow="ellipsis"),c.css(A)))},getPosition:function(h,q,l,g){var f=this.axis,d=f.chart,b=g&&d.oldChartHeight||d.chartHeight;h={x:h?a.correctFloat(f.translate(q+l,null,null,g)+f.transB):f.left+f.offset+(f.opposite?(g&&d.oldChartWidth||d.chartWidth)-f.right-f.left:0),y:h?b-f.bottom+f.offset-(f.opposite?f.height:0):a.correctFloat(b-f.translate(q+l,null,null,g)-f.transB)};r(this,"afterGetPosition",{pos:h});return h},getLabelPosition:function(a,q,l,g,
125
- f,d,b,c){var e=this.axis,n=e.transA,w=e.reversed,z=e.staggerLines,h=e.tickRotCorr||{x:0,y:0},m=f.y,p=g||e.reserveSpaceDefault?0:-e.labelOffset*("center"===e.labelAlign?.5:1),A={};y(m)||(m=0===e.side?l.rotation?-8:-l.getBBox().height:2===e.side?h.y+8:Math.cos(l.rotation*x)*(h.y-l.getBBox(!1,0).height/2));a=a+f.x+p+h.x-(d&&g?d*n*(w?-1:1):0);q=q+m-(d&&!g?d*n*(w?1:-1):0);z&&(l=b/(c||1)%z,e.opposite&&(l=z-l-1),q+=e.labelOffset/z*l);A.x=a;A.y=Math.round(q);r(this,"afterGetLabelPosition",{pos:A,tickmarkOffset:d,
126
- index:b});return A},getMarkPath:function(a,q,l,g,f,d){return d.crispLine(["M",a,q,"L",a+(f?0:-l),q+(f?l:0)],g)},renderGridLine:function(a,q,l){var g=this.axis,f=g.options,d=this.gridLine,b={},c=this.pos,e=this.type,n=t(this.tickmarkOffset,g.tickmarkOffset),w=g.chart.renderer,z=e?e+"Grid":"grid",h=f[z+"LineWidth"],m=f[z+"LineColor"],f=f[z+"LineDashStyle"];d||(g.chart.styledMode||(b.stroke=m,b["stroke-width"]=h,f&&(b.dashstyle=f)),e||(b.zIndex=1),a&&(q=0),this.gridLine=d=w.path().attr(b).addClass("highcharts-"+
127
- (e?e+"-":"")+"grid-line").add(g.gridGroup));if(d&&(l=g.getPlotLinePath(c+n,d.strokeWidth()*l,a,"pass")))d[a||this.isNew?"attr":"animate"]({d:l,opacity:q})},renderMark:function(a,q,l){var g=this.axis,f=g.options,d=g.chart.renderer,b=this.type,c=b?b+"Tick":"tick",e=g.tickSize(c),n=this.mark,w=!n,z=a.x;a=a.y;var h=t(f[c+"Width"],!b&&g.isXAxis?1:0),f=f[c+"Color"];e&&(g.opposite&&(e[0]=-e[0]),w&&(this.mark=n=d.path().addClass("highcharts-"+(b?b+"-":"")+"tick").add(g.axisGroup),g.chart.styledMode||n.attr({stroke:f,
128
- "stroke-width":h})),n[w?"attr":"animate"]({d:this.getMarkPath(z,a,e[0],n.strokeWidth()*l,g.horiz,d),opacity:q}))},renderLabel:function(a,q,l,g){var f=this.axis,d=f.horiz,b=f.options,c=this.label,e=b.labels,n=e.step,f=t(this.tickmarkOffset,f.tickmarkOffset),w=!0,z=a.x;a=a.y;c&&h(z)&&(c.xy=a=this.getLabelPosition(z,a,c,d,e,f,g,n),this.isFirst&&!this.isLast&&!t(b.showFirstLabel,1)||this.isLast&&!this.isFirst&&!t(b.showLastLabel,1)?w=!1:!d||e.step||e.rotation||q||0===l||this.handleOverflow(a),n&&g%n&&
129
- (w=!1),w&&h(a.y)?(a.opacity=l,c[this.isNewLabel?"attr":"animate"](a),this.isNewLabel=!1):(c.attr("y",-9999),this.isNewLabel=!0))},render:function(h,q,l){var g=this.axis,f=g.horiz,d=this.pos,b=t(this.tickmarkOffset,g.tickmarkOffset),d=this.getPosition(f,d,b,q),b=d.x,c=d.y,g=f&&b===g.pos+g.len||!f&&c===g.pos?-1:1;l=t(l,1);this.isActive=!0;this.renderGridLine(q,l,g);this.renderMark(d,l,g);this.renderLabel(d,q,l,h);this.isNew=!1;a.fireEvent(this,"afterRender")},destroy:function(){C(this,this.axis)}}});
130
- J(G,"parts/Axis.js",[G["parts/Globals.js"]],function(a){var B=a.addEvent,y=a.animObject,C=a.arrayMax,r=a.arrayMin,h=a.color,u=a.correctFloat,t=a.defaultOptions,x=a.defined,v=a.deg2rad,q=a.destroyObjectProperties,l=a.extend,g=a.fireEvent,f=a.format,d=a.getMagnitude,b=a.isArray,c=a.isNumber,e=a.isString,n=a.merge,w=a.normalizeTickInterval,z=a.objectEach,F=a.pick,m=a.removeEvent,p=a.seriesTypes,A=a.splat,D=a.syncTimeout,H=a.Tick,E=function(){this.init.apply(this,arguments)};a.extend(E.prototype,{defaultOptions:{dateTimeLabelFormats:{millisecond:{main:"%H:%M:%S.%L",
131
- range:!1},second:{main:"%H:%M:%S",range:!1},minute:{main:"%H:%M",range:!1},hour:{main:"%H:%M",range:!1},day:{main:"%e. %b"},week:{main:"%e. %b"},month:{main:"%b '%y"},year:{main:"%Y"}},endOnTick:!1,labels:{enabled:!0,indentation:10,x:0,style:{color:"#666666",cursor:"default",fontSize:"11px"}},maxPadding:.01,minorTickLength:2,minorTickPosition:"outside",minPadding:.01,showEmpty:!0,startOfWeek:1,startOnTick:!1,tickLength:10,tickPixelInterval:100,tickmarkPlacement:"between",tickPosition:"outside",title:{align:"middle",
132
- style:{color:"#666666"}},type:"linear",minorGridLineColor:"#f2f2f2",minorGridLineWidth:1,minorTickColor:"#999999",lineColor:"#ccd6eb",lineWidth:1,gridLineColor:"#e6e6e6",tickColor:"#ccd6eb"},defaultYAxisOptions:{endOnTick:!0,maxPadding:.05,minPadding:.05,tickPixelInterval:72,showLastLabel:!0,labels:{x:-8},startOnTick:!0,title:{rotation:270,text:"Values"},stackLabels:{allowOverlap:!1,enabled:!1,formatter:function(){return a.numberFormat(this.total,-1)},style:{color:"#000000",fontSize:"11px",fontWeight:"bold",
133
- textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0},defaultLeftAxisOptions:{labels:{x:-15},title:{rotation:270}},defaultRightAxisOptions:{labels:{x:15},title:{rotation:90}},defaultBottomAxisOptions:{labels:{autoRotation:[-45],x:0},margin:15,title:{rotation:0}},defaultTopAxisOptions:{labels:{autoRotation:[-45],x:0},margin:15,title:{rotation:0}},init:function(a,b){var c=b.isX,k=this;k.chart=a;k.horiz=a.inverted&&!k.isZAxis?!c:c;k.isXAxis=c;k.coll=k.coll||(c?"xAxis":"yAxis");g(this,"init",{userOptions:b});
134
- k.opposite=b.opposite;k.side=b.side||(k.horiz?k.opposite?0:2:k.opposite?1:3);k.setOptions(b);var d=this.options,e=d.type;k.labelFormatter=d.labels.formatter||k.defaultLabelFormatter;k.userOptions=b;k.minPixelPadding=0;k.reversed=d.reversed;k.visible=!1!==d.visible;k.zoomEnabled=!1!==d.zoomEnabled;k.hasNames="category"===e||!0===d.categories;k.categories=d.categories||k.hasNames;k.names||(k.names=[],k.names.keys={});k.plotLinesAndBandsGroups={};k.isLog="logarithmic"===e;k.isDatetimeAxis="datetime"===
135
- e;k.positiveValuesOnly=k.isLog&&!k.allowNegativeLog;k.isLinked=x(d.linkedTo);k.ticks={};k.labelEdge=[];k.minorTicks={};k.plotLinesAndBands=[];k.alternateBands={};k.len=0;k.minRange=k.userMinRange=d.minRange||d.maxZoom;k.range=d.range;k.offset=d.offset||0;k.stacks={};k.oldStacks={};k.stacksTouched=0;k.max=null;k.min=null;k.crosshair=F(d.crosshair,A(a.options.tooltip.crosshairs)[c?0:1],!1);b=k.options.events;-1===a.axes.indexOf(k)&&(c?a.axes.splice(a.xAxis.length,0,k):a.axes.push(k),a[k.coll].push(k));
136
- k.series=k.series||[];a.inverted&&!k.isZAxis&&c&&void 0===k.reversed&&(k.reversed=!0);z(b,function(a,b){B(k,b,a)});k.lin2log=d.linearToLogConverter||k.lin2log;k.isLog&&(k.val2lin=k.log2lin,k.lin2val=k.lin2log);g(this,"afterInit")},setOptions:function(a){this.options=n(this.defaultOptions,"yAxis"===this.coll&&this.defaultYAxisOptions,[this.defaultTopAxisOptions,this.defaultRightAxisOptions,this.defaultBottomAxisOptions,this.defaultLeftAxisOptions][this.side],n(t[this.coll],a));g(this,"afterSetOptions",
137
- {userOptions:a})},defaultLabelFormatter:function(){var b=this.axis,c=this.value,d=b.chart.time,e=b.categories,p=this.dateTimeLabelFormat,n=t.lang,m=n.numericSymbols,n=n.numericSymbolMagnitude||1E3,w=m&&m.length,A,g=b.options.labels.format,b=b.isLog?Math.abs(c):b.tickInterval;if(g)A=f(g,this,d);else if(e)A=c;else if(p)A=d.dateFormat(p,c);else if(w&&1E3<=b)for(;w--&&void 0===A;)d=Math.pow(n,w+1),b>=d&&0===10*c%d&&null!==m[w]&&0!==c&&(A=a.numberFormat(c/d,-1)+m[w]);void 0===A&&(A=1E4<=Math.abs(c)?a.numberFormat(c,
138
- -1):a.numberFormat(c,-1,void 0,""));return A},getSeriesExtremes:function(){var a=this,b=a.chart,d;g(this,"getSeriesExtremes",null,function(){a.hasVisibleSeries=!1;a.dataMin=a.dataMax=a.threshold=null;a.softThreshold=!a.isXAxis;a.buildStacks&&a.buildStacks();a.series.forEach(function(k){if(k.visible||!b.options.chart.ignoreHiddenSeries){var e=k.options,p=e.threshold,n,m;a.hasVisibleSeries=!0;a.positiveValuesOnly&&0>=p&&(p=null);if(a.isXAxis)e=k.xData,e.length&&(d=k.getXExtremes(e),n=d.min,m=d.max,
139
- c(n)||n instanceof Date||(e=e.filter(c),d=k.getXExtremes(e),n=d.min,m=d.max),e.length&&(a.dataMin=Math.min(F(a.dataMin,n),n),a.dataMax=Math.max(F(a.dataMax,m),m)));else if(k.getExtremes(),m=k.dataMax,n=k.dataMin,x(n)&&x(m)&&(a.dataMin=Math.min(F(a.dataMin,n),n),a.dataMax=Math.max(F(a.dataMax,m),m)),x(p)&&(a.threshold=p),!e.softThreshold||a.positiveValuesOnly)a.softThreshold=!1}})});g(this,"afterGetSeriesExtremes")},translate:function(a,b,d,e,p,n){var k=this.linkedParent||this,m=1,I=0,w=e?k.oldTransA:
140
- k.transA;e=e?k.oldMin:k.min;var A=k.minPixelPadding;p=(k.isOrdinal||k.isBroken||k.isLog&&p)&&k.lin2val;w||(w=k.transA);d&&(m*=-1,I=k.len);k.reversed&&(m*=-1,I-=m*(k.sector||k.len));b?(a=(a*m+I-A)/w+e,p&&(a=k.lin2val(a))):(p&&(a=k.val2lin(a)),a=c(e)?m*(a-e)*w+I+m*A+(c(n)?w*n:0):void 0);return a},toPixels:function(a,b){return this.translate(a,!1,!this.horiz,null,!0)+(b?0:this.pos)},toValue:function(a,b){return this.translate(a-(b?0:this.pos),!0,!this.horiz,null,!0)},getPlotLinePath:function(a,b,d,e,
141
- p){var k=this,n=k.chart,m=k.left,I=k.top,w,A,f,D,l=d&&n.oldChartHeight||n.chartHeight,E=d&&n.oldChartWidth||n.chartWidth,z,q=k.transB,H,L=function(a,b,c){if("pass"!==e&&a<b||a>c)e?a=Math.min(Math.max(b,a),c):z=!0;return a};H={value:a,lineWidth:b,old:d,force:e,translatedValue:p};g(this,"getPlotLinePath",H,function(g){p=F(p,k.translate(a,null,null,d));p=Math.min(Math.max(-1E5,p),1E5);w=f=Math.round(p+q);A=D=Math.round(l-p-q);c(p)?k.horiz?(A=I,D=l-k.bottom,w=f=L(w,m,m+k.width)):(w=m,f=E-k.right,A=D=
142
- L(A,I,I+k.height)):(z=!0,e=!1);g.path=z&&!e?null:n.renderer.crispLine(["M",w,A,"L",f,D],b||1)});return H.path},getLinearTickPositions:function(a,b,c){var k,d=u(Math.floor(b/a)*a);c=u(Math.ceil(c/a)*a);var e=[],p;u(d+a)===d&&(p=20);if(this.single)return[b];for(b=d;b<=c;){e.push(b);b=u(b+a,p);if(b===k)break;k=b}return e},getMinorTickInterval:function(){var a=this.options;return!0===a.minorTicks?F(a.minorTickInterval,"auto"):!1===a.minorTicks?null:a.minorTickInterval},getMinorTickPositions:function(){var a=
143
- this,b=a.options,c=a.tickPositions,d=a.minorTickInterval,e=[],p=a.pointRangePadding||0,n=a.min-p,p=a.max+p,m=p-n;if(m&&m/d<a.len/3)if(a.isLog)this.paddedTicks.forEach(function(b,c,k){c&&e.push.apply(e,a.getLogTickPositions(d,k[c-1],k[c],!0))});else if(a.isDatetimeAxis&&"auto"===this.getMinorTickInterval())e=e.concat(a.getTimeTicks(a.normalizeTimeTickInterval(d),n,p,b.startOfWeek));else for(b=n+(c[0]-n)%d;b<=p&&b!==e[0];b+=d)e.push(b);0!==e.length&&a.trimTicks(e);return e},adjustForMinRange:function(){var a=
144
- this.options,b=this.min,c=this.max,d,e,p,n,m,w,A,g;this.isXAxis&&void 0===this.minRange&&!this.isLog&&(x(a.min)||x(a.max)?this.minRange=null:(this.series.forEach(function(a){w=a.xData;for(n=A=a.xIncrement?1:w.length-1;0<n;n--)if(m=w[n]-w[n-1],void 0===p||m<p)p=m}),this.minRange=Math.min(5*p,this.dataMax-this.dataMin)));c-b<this.minRange&&(e=this.dataMax-this.dataMin>=this.minRange,g=this.minRange,d=(g-c+b)/2,d=[b-d,F(a.min,b-d)],e&&(d[2]=this.isLog?this.log2lin(this.dataMin):this.dataMin),b=C(d),
145
- c=[b+g,F(a.max,b+g)],e&&(c[2]=this.isLog?this.log2lin(this.dataMax):this.dataMax),c=r(c),c-b<g&&(d[0]=c-g,d[1]=F(a.min,c-g),b=C(d)));this.min=b;this.max=c},getClosest:function(){var a;this.categories?a=1:this.series.forEach(function(b){var c=b.closestPointRange,k=b.visible||!b.chart.options.chart.ignoreHiddenSeries;!b.noSharedTooltip&&x(c)&&k&&(a=x(a)?Math.min(a,c):c)});return a},nameToX:function(a){var c=b(this.categories),d=c?this.categories:this.names,k=a.options.x,e;a.series.requireSorting=!1;
146
- x(k)||(k=!1===this.options.uniqueNames?a.series.autoIncrement():c?d.indexOf(a.name):F(d.keys[a.name],-1));-1===k?c||(e=d.length):e=k;void 0!==e&&(this.names[e]=a.name,this.names.keys[a.name]=e);return e},updateNames:function(){var a=this,b=this.names;0<b.length&&(Object.keys(b.keys).forEach(function(a){delete b.keys[a]}),b.length=0,this.minRange=this.userMinRange,(this.series||[]).forEach(function(b){b.xIncrement=null;if(!b.points||b.isDirtyData)a.max=Math.max(a.max,b.xData.length-1),b.processData(),
147
- b.generatePoints();b.data.forEach(function(c,d){var k;c&&c.options&&void 0!==c.name&&(k=a.nameToX(c),void 0!==k&&k!==c.x&&(c.x=k,b.xData[d]=k))})}))},setAxisTranslation:function(a){var b=this,c=b.max-b.min,d=b.axisPointRange||0,k,n=0,m=0,w=b.linkedParent,A=!!b.categories,f=b.transA,D=b.isXAxis;if(D||A||d)k=b.getClosest(),w?(n=w.minPointOffset,m=w.pointRangePadding):b.series.forEach(function(a){var c=A?1:D?F(a.options.pointRange,k,0):b.axisPointRange||0,w=a.options.pointPlacement;d=Math.max(d,c);if(!b.single||
148
- A)a=p.xrange&&a instanceof p.xrange?!D:D,n=Math.max(n,a&&e(w)?0:c/2),m=Math.max(m,a&&"on"===w?0:c)}),w=b.ordinalSlope&&k?b.ordinalSlope/k:1,b.minPointOffset=n*=w,b.pointRangePadding=m*=w,b.pointRange=Math.min(d,c),D&&(b.closestPointRange=k);a&&(b.oldTransA=f);b.translationSlope=b.transA=f=b.staticScale||b.len/(c+m||1);b.transB=b.horiz?b.left:b.bottom;b.minPixelPadding=f*n;g(this,"afterSetAxisTranslation")},minFromRange:function(){return this.max-this.range},setTickInterval:function(b){var k=this,
149
- e=k.chart,p=k.options,n=k.isLog,m=k.isDatetimeAxis,A=k.isXAxis,D=k.isLinked,f=p.maxPadding,l=p.minPadding,E,z=p.tickInterval,q=p.tickPixelInterval,H=k.categories,h=c(k.threshold)?k.threshold:null,r=k.softThreshold,v,t,y;m||H||D||this.getTickAmount();t=F(k.userMin,p.min);y=F(k.userMax,p.max);D?(k.linkedParent=e[k.coll][p.linkedTo],E=k.linkedParent.getExtremes(),k.min=F(E.min,E.dataMin),k.max=F(E.max,E.dataMax),p.type!==k.linkedParent.options.type&&a.error(11,1,e)):(!r&&x(h)&&(k.dataMin>=h?(E=h,l=0):
150
- k.dataMax<=h&&(v=h,f=0)),k.min=F(t,E,k.dataMin),k.max=F(y,v,k.dataMax));n&&(k.positiveValuesOnly&&!b&&0>=Math.min(k.min,F(k.dataMin,k.min))&&a.error(10,1,e),k.min=u(k.log2lin(k.min),15),k.max=u(k.log2lin(k.max),15));k.range&&x(k.max)&&(k.userMin=k.min=t=Math.max(k.dataMin,k.minFromRange()),k.userMax=y=k.max,k.range=null);g(k,"foundExtremes");k.beforePadding&&k.beforePadding();k.adjustForMinRange();!(H||k.axisPointRange||k.usePercentage||D)&&x(k.min)&&x(k.max)&&(e=k.max-k.min)&&(!x(t)&&l&&(k.min-=
151
- e*l),!x(y)&&f&&(k.max+=e*f));c(p.softMin)&&!c(k.userMin)&&p.softMin<k.min&&(k.min=t=p.softMin);c(p.softMax)&&!c(k.userMax)&&p.softMax>k.max&&(k.max=y=p.softMax);c(p.floor)&&(k.min=Math.min(Math.max(k.min,p.floor),Number.MAX_VALUE));c(p.ceiling)&&(k.max=Math.max(Math.min(k.max,p.ceiling),F(k.userMax,-Number.MAX_VALUE)));r&&x(k.dataMin)&&(h=h||0,!x(t)&&k.min<h&&k.dataMin>=h?k.min=k.options.minRange?Math.min(h,k.max-k.minRange):h:!x(y)&&k.max>h&&k.dataMax<=h&&(k.max=k.options.minRange?Math.max(h,k.min+
152
- k.minRange):h));k.tickInterval=k.min===k.max||void 0===k.min||void 0===k.max?1:D&&!z&&q===k.linkedParent.options.tickPixelInterval?z=k.linkedParent.tickInterval:F(z,this.tickAmount?(k.max-k.min)/Math.max(this.tickAmount-1,1):void 0,H?1:(k.max-k.min)*q/Math.max(k.len,q));A&&!b&&k.series.forEach(function(a){a.processData(k.min!==k.oldMin||k.max!==k.oldMax)});k.setAxisTranslation(!0);k.beforeSetTickPositions&&k.beforeSetTickPositions();k.postProcessTickInterval&&(k.tickInterval=k.postProcessTickInterval(k.tickInterval));
153
- k.pointRange&&!z&&(k.tickInterval=Math.max(k.pointRange,k.tickInterval));b=F(p.minTickInterval,k.isDatetimeAxis&&k.closestPointRange);!z&&k.tickInterval<b&&(k.tickInterval=b);m||n||z||(k.tickInterval=w(k.tickInterval,null,d(k.tickInterval),F(p.allowDecimals,!(.5<k.tickInterval&&5>k.tickInterval&&1E3<k.max&&9999>k.max)),!!this.tickAmount));this.tickAmount||(k.tickInterval=k.unsquish());this.setTickPositions()},setTickPositions:function(){var b=this.options,c,d=b.tickPositions;c=this.getMinorTickInterval();
154
- var e=b.tickPositioner,p=b.startOnTick,n=b.endOnTick;this.tickmarkOffset=this.categories&&"between"===b.tickmarkPlacement&&1===this.tickInterval?.5:0;this.minorTickInterval="auto"===c&&this.tickInterval?this.tickInterval/5:c;this.single=this.min===this.max&&x(this.min)&&!this.tickAmount&&(parseInt(this.min,10)===this.min||!1!==b.allowDecimals);this.tickPositions=c=d&&d.slice();!c&&(!this.ordinalPositions&&(this.max-this.min)/this.tickInterval>Math.max(2*this.len,200)?(c=[this.min,this.max],a.error(19,
155
- !1,this.chart)):c=this.isDatetimeAxis?this.getTimeTicks(this.normalizeTimeTickInterval(this.tickInterval,b.units),this.min,this.max,b.startOfWeek,this.ordinalPositions,this.closestPointRange,!0):this.isLog?this.getLogTickPositions(this.tickInterval,this.min,this.max):this.getLinearTickPositions(this.tickInterval,this.min,this.max),c.length>this.len&&(c=[c[0],c.pop()],c[0]===c[1]&&(c.length=1)),this.tickPositions=c,e&&(e=e.apply(this,[this.min,this.max])))&&(this.tickPositions=c=e);this.paddedTicks=
156
- c.slice(0);this.trimTicks(c,p,n);this.isLinked||(this.single&&2>c.length&&!this.categories&&(this.min-=.5,this.max+=.5),d||e||this.adjustTickAmount());g(this,"afterSetTickPositions")},trimTicks:function(a,b,c){var k=a[0],d=a[a.length-1],e=this.minPointOffset||0;g(this,"trimTicks");if(!this.isLinked){if(b&&-Infinity!==k)this.min=k;else for(;this.min-e>a[0];)a.shift();if(c)this.max=d;else for(;this.max+e<a[a.length-1];)a.pop();0===a.length&&x(k)&&!this.options.tickPositions&&a.push((d+k)/2)}},alignToOthers:function(){var a=
157
- {},b,c=this.options;!1===this.chart.options.chart.alignTicks||!1===c.alignTicks||!1===c.startOnTick||!1===c.endOnTick||this.isLog||this.chart[this.coll].forEach(function(c){var k=c.options,k=[c.horiz?k.left:k.top,k.width,k.height,k.pane].join();c.series.length&&(a[k]?b=!0:a[k]=1)});return b},getTickAmount:function(){var a=this.options,b=a.tickAmount,c=a.tickPixelInterval;!x(a.tickInterval)&&this.len<c&&!this.isRadial&&!this.isLog&&a.startOnTick&&a.endOnTick&&(b=2);!b&&this.alignToOthers()&&(b=Math.ceil(this.len/
158
- c)+1);4>b&&(this.finalTickAmt=b,b=5);this.tickAmount=b},adjustTickAmount:function(){var a=this.options,b=this.tickInterval,c=this.tickPositions,d=this.tickAmount,e=this.finalTickAmt,p=c&&c.length,n=F(this.threshold,this.softThreshold?0:null),m;if(this.hasData()){if(p<d){for(m=this.min;c.length<d;)c.length%2||m===n?c.push(u(c[c.length-1]+b)):c.unshift(u(c[0]-b));this.transA*=(p-1)/(d-1);this.min=a.startOnTick?c[0]:Math.min(this.min,c[0]);this.max=a.endOnTick?c[c.length-1]:Math.max(this.max,c[c.length-
159
- 1])}else p>d&&(this.tickInterval*=2,this.setTickPositions());if(x(e)){for(b=a=c.length;b--;)(3===e&&1===b%2||2>=e&&0<b&&b<a-1)&&c.splice(b,1);this.finalTickAmt=void 0}}},setScale:function(){var a=this.series.some(function(a){return a.isDirtyData||a.isDirty||a.xAxis.isDirty}),b;this.oldMin=this.min;this.oldMax=this.max;this.oldAxisLength=this.len;this.setAxisSize();(b=this.len!==this.oldAxisLength)||a||this.isLinked||this.forceRedraw||this.userMin!==this.oldUserMin||this.userMax!==this.oldUserMax||
160
- this.alignToOthers()?(this.resetStacks&&this.resetStacks(),this.forceRedraw=!1,this.getSeriesExtremes(),this.setTickInterval(),this.oldUserMin=this.userMin,this.oldUserMax=this.userMax,this.isDirty||(this.isDirty=b||this.min!==this.oldMin||this.max!==this.oldMax)):this.cleanStacks&&this.cleanStacks();g(this,"afterSetScale")},setExtremes:function(a,b,c,d,e){var k=this,p=k.chart;c=F(c,!0);k.series.forEach(function(a){delete a.kdTree});e=l(e,{min:a,max:b});g(k,"setExtremes",e,function(){k.userMin=a;
161
- k.userMax=b;k.eventArgs=e;c&&p.redraw(d)})},zoom:function(a,b){var c=this.dataMin,k=this.dataMax,d=this.options,e=Math.min(c,F(d.min,c)),p=Math.max(k,F(d.max,k));a={newMin:a,newMax:b};g(this,"zoom",a,function(a){var b=a.newMin,d=a.newMax;if(b!==this.min||d!==this.max)this.allowZoomOutside||(x(c)&&(b<e&&(b=e),b>p&&(b=p)),x(k)&&(d<e&&(d=e),d>p&&(d=p))),this.displayBtn=void 0!==b||void 0!==d,this.setExtremes(b,d,!1,void 0,{trigger:"zoom"});a.zoomed=!0});return a.zoomed},setAxisSize:function(){var b=
162
- this.chart,c=this.options,d=c.offsets||[0,0,0,0],e=this.horiz,p=this.width=Math.round(a.relativeLength(F(c.width,b.plotWidth-d[3]+d[1]),b.plotWidth)),n=this.height=Math.round(a.relativeLength(F(c.height,b.plotHeight-d[0]+d[2]),b.plotHeight)),m=this.top=Math.round(a.relativeLength(F(c.top,b.plotTop+d[0]),b.plotHeight,b.plotTop)),c=this.left=Math.round(a.relativeLength(F(c.left,b.plotLeft+d[3]),b.plotWidth,b.plotLeft));this.bottom=b.chartHeight-n-m;this.right=b.chartWidth-p-c;this.len=Math.max(e?p:
163
- n,0);this.pos=e?c:m},getExtremes:function(){var a=this.isLog;return{min:a?u(this.lin2log(this.min)):this.min,max:a?u(this.lin2log(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}},getThreshold:function(a){var b=this.isLog,c=b?this.lin2log(this.min):this.min,b=b?this.lin2log(this.max):this.max;null===a||-Infinity===a?a=c:Infinity===a?a=b:c>a?a=c:b<a&&(a=b);return this.translate(a,0,1,0,1)},autoLabelAlign:function(a){var b=(F(a,0)-90*this.side+
164
- 720)%360;a={align:"center"};g(this,"autoLabelAlign",a,function(a){15<b&&165>b?a.align="right":195<b&&345>b&&(a.align="left")});return a.align},tickSize:function(a){var b=this.options,c=b[a+"Length"],k=F(b[a+"Width"],"tick"===a&&this.isXAxis&&!this.categories?1:0),d;k&&c&&("inside"===b[a+"Position"]&&(c=-c),d=[c,k]);a={tickSize:d};g(this,"afterTickSize",a);return a.tickSize},labelMetrics:function(){var a=this.tickPositions&&this.tickPositions[0]||0;return this.chart.renderer.fontMetrics(this.options.labels.style&&
165
- this.options.labels.style.fontSize,this.ticks[a]&&this.ticks[a].label)},unsquish:function(){var a=this.options.labels,b=this.horiz,c=this.tickInterval,d=c,e=this.len/(((this.categories?1:0)+this.max-this.min)/c),p,n=a.rotation,m=this.labelMetrics(),w,A=Number.MAX_VALUE,g,D=this.max-this.min,f=function(a){var b=a/(e||1),b=1<b?Math.ceil(b):1;b*c>D&&Infinity!==a&&Infinity!==e&&(b=Math.ceil(D/c));return u(b*c)};b?(g=!a.staggerLines&&!a.step&&(x(n)?[n]:e<F(a.autoRotationLimit,80)&&a.autoRotation))&&g.forEach(function(a){var b;
166
- if(a===n||a&&-90<=a&&90>=a)w=f(Math.abs(m.h/Math.sin(v*a))),b=w+Math.abs(a/360),b<A&&(A=b,p=a,d=w)}):a.step||(d=f(m.h));this.autoRotation=g;this.labelRotation=F(p,n);return d},getSlotWidth:function(a){var b=this.chart,c=this.horiz,k=this.options.labels,d=Math.max(this.tickPositions.length-(this.categories?0:1),1),e=b.margin[3];return a&&a.slotWidth||c&&2>(k.step||0)&&!k.rotation&&(this.staggerLines||1)*this.len/d||!c&&(k.style&&parseInt(k.style.width,10)||e&&e-b.spacing[3]||.33*b.chartWidth)},renderUnsquish:function(){var a=
167
- this.chart,b=a.renderer,c=this.tickPositions,d=this.ticks,p=this.options.labels,n=p&&p.style||{},m=this.horiz,w=this.getSlotWidth(),A=Math.max(1,Math.round(w-2*(p.padding||5))),g={},D=this.labelMetrics(),f=p.style&&p.style.textOverflow,l,E,z=0,q;e(p.rotation)||(g.rotation=p.rotation||0);c.forEach(function(a){(a=d[a])&&a.label&&a.label.textPxLength>z&&(z=a.label.textPxLength)});this.maxLabelLength=z;if(this.autoRotation)z>A&&z>D.h?g.rotation=this.labelRotation:this.labelRotation=0;else if(w&&(l=A,
168
- !f))for(E="clip",A=c.length;!m&&A--;)if(q=c[A],q=d[q].label)q.styles&&"ellipsis"===q.styles.textOverflow?q.css({textOverflow:"clip"}):q.textPxLength>w&&q.css({width:w+"px"}),q.getBBox().height>this.len/c.length-(D.h-D.f)&&(q.specificTextOverflow="ellipsis");g.rotation&&(l=z>.5*a.chartHeight?.33*a.chartHeight:z,f||(E="ellipsis"));if(this.labelAlign=p.align||this.autoLabelAlign(this.labelRotation))g.align=this.labelAlign;c.forEach(function(a){var b=(a=d[a])&&a.label,c=n.width,k={};b&&(b.attr(g),a.shortenLabel?
169
- a.shortenLabel():l&&!c&&"nowrap"!==n.whiteSpace&&(l<b.textPxLength||"SPAN"===b.element.tagName)?(k.width=l,f||(k.textOverflow=b.specificTextOverflow||E),b.css(k)):b.styles&&b.styles.width&&!k.width&&!c&&b.css({width:null}),delete b.specificTextOverflow,a.rotation=g.rotation)},this);this.tickRotCorr=b.rotCorr(D.b,this.labelRotation||0,0!==this.side)},hasData:function(){return this.series.some(function(a){return a.hasData()})||this.options.showEmpty&&x(this.min)&&x(this.max)},addTitle:function(a){var b=
170
- this.chart.renderer,c=this.horiz,k=this.opposite,d=this.options.title,e,p=this.chart.styledMode;this.axisTitle||((e=d.textAlign)||(e=(c?{low:"left",middle:"center",high:"right"}:{low:k?"right":"left",middle:"center",high:k?"left":"right"})[d.align]),this.axisTitle=b.text(d.text,0,0,d.useHTML).attr({zIndex:7,rotation:d.rotation||0,align:e}).addClass("highcharts-axis-title"),p||this.axisTitle.css(n(d.style)),this.axisTitle.add(this.axisGroup),this.axisTitle.isNew=!0);p||d.style.width||this.isRadial||
171
- this.axisTitle.css({width:this.len});this.axisTitle[a?"show":"hide"](!0)},generateTick:function(a){var b=this.ticks;b[a]?b[a].addLabel():b[a]=new H(this,a)},getOffset:function(){var a=this,b=a.chart,c=b.renderer,d=a.options,e=a.tickPositions,p=a.ticks,n=a.horiz,m=a.side,w=b.inverted&&!a.isZAxis?[1,0,3,2][m]:m,A,D,f=0,l,E=0,q=d.title,H=d.labels,h=0,r=b.axisOffset,b=b.clipOffset,v=[-1,1,1,-1][m],u=d.className,t=a.axisParent;A=a.hasData();a.showAxis=D=A||F(d.showEmpty,!0);a.staggerLines=a.horiz&&H.staggerLines;
172
- a.axisGroup||(a.gridGroup=c.g("grid").attr({zIndex:d.gridZIndex||1}).addClass("highcharts-"+this.coll.toLowerCase()+"-grid "+(u||"")).add(t),a.axisGroup=c.g("axis").attr({zIndex:d.zIndex||2}).addClass("highcharts-"+this.coll.toLowerCase()+" "+(u||"")).add(t),a.labelGroup=c.g("axis-labels").attr({zIndex:H.zIndex||7}).addClass("highcharts-"+a.coll.toLowerCase()+"-labels "+(u||"")).add(t));A||a.isLinked?(e.forEach(function(b,c){a.generateTick(b,c)}),a.renderUnsquish(),a.reserveSpaceDefault=0===m||2===
173
- m||{1:"left",3:"right"}[m]===a.labelAlign,F(H.reserveSpace,"center"===a.labelAlign?!0:null,a.reserveSpaceDefault)&&e.forEach(function(a){h=Math.max(p[a].getLabelSize(),h)}),a.staggerLines&&(h*=a.staggerLines),a.labelOffset=h*(a.opposite?-1:1)):z(p,function(a,b){a.destroy();delete p[b]});q&&q.text&&!1!==q.enabled&&(a.addTitle(D),D&&!1!==q.reserveSpace&&(a.titleOffset=f=a.axisTitle.getBBox()[n?"height":"width"],l=q.offset,E=x(l)?0:F(q.margin,n?5:10)));a.renderLine();a.offset=v*F(d.offset,r[m]?r[m]+
174
- (d.margin||0):0);a.tickRotCorr=a.tickRotCorr||{x:0,y:0};c=0===m?-a.labelMetrics().h:2===m?a.tickRotCorr.y:0;E=Math.abs(h)+E;h&&(E=E-c+v*(n?F(H.y,a.tickRotCorr.y+8*v):H.x));a.axisTitleMargin=F(l,E);a.getMaxLabelDimensions&&(a.maxLabelDimensions=a.getMaxLabelDimensions(p,e));n=this.tickSize("tick");r[m]=Math.max(r[m],a.axisTitleMargin+f+v*a.offset,E,e&&e.length&&n?n[0]+v*a.offset:0);d=d.offset?0:2*Math.floor(a.axisLine.strokeWidth()/2);b[w]=Math.max(b[w],d);g(this,"afterGetOffset")},getLinePath:function(a){var b=
175
- this.chart,c=this.opposite,d=this.offset,k=this.horiz,e=this.left+(c?this.width:0)+d,d=b.chartHeight-this.bottom-(c?this.height:0)+d;c&&(a*=-1);return b.renderer.crispLine(["M",k?this.left:e,k?d:this.top,"L",k?b.chartWidth-this.right:e,k?d:b.chartHeight-this.bottom],a)},renderLine:function(){this.axisLine||(this.axisLine=this.chart.renderer.path().addClass("highcharts-axis-line").add(this.axisGroup),this.chart.styledMode||this.axisLine.attr({stroke:this.options.lineColor,"stroke-width":this.options.lineWidth,
176
- zIndex:7}))},getTitlePosition:function(){var a=this.horiz,b=this.left,c=this.top,d=this.len,e=this.options.title,p=a?b:c,n=this.opposite,m=this.offset,w=e.x||0,A=e.y||0,D=this.axisTitle,f=this.chart.renderer.fontMetrics(e.style&&e.style.fontSize,D),D=Math.max(D.getBBox(null,0).height-f.h-1,0),d={low:p+(a?0:d),middle:p+d/2,high:p+(a?d:0)}[e.align],b=(a?c+this.height:b)+(a?1:-1)*(n?-1:1)*this.axisTitleMargin+[-D,D,f.f,-D][this.side],a={x:a?d+w:b+(n?this.width:0)+m+w,y:a?b+A-(n?this.height:0)+m:d+A};
177
- g(this,"afterGetTitlePosition",{titlePosition:a});return a},renderMinorTick:function(a){var b=this.chart.hasRendered&&c(this.oldMin),d=this.minorTicks;d[a]||(d[a]=new H(this,a,"minor"));b&&d[a].isNew&&d[a].render(null,!0);d[a].render(null,!1,1)},renderTick:function(a,b){var d=this.isLinked,k=this.ticks,e=this.chart.hasRendered&&c(this.oldMin);if(!d||a>=this.min&&a<=this.max)k[a]||(k[a]=new H(this,a)),e&&k[a].isNew&&k[a].render(b,!0,-1),k[a].render(b)},render:function(){var b=this,d=b.chart,e=b.options,
178
- p=b.isLog,n=b.isLinked,m=b.tickPositions,w=b.axisTitle,A=b.ticks,f=b.minorTicks,l=b.alternateBands,E=e.stackLabels,q=e.alternateGridColor,h=b.tickmarkOffset,F=b.axisLine,r=b.showAxis,v=y(d.renderer.globalAnimation),u,t;b.labelEdge.length=0;b.overlap=!1;[A,f,l].forEach(function(a){z(a,function(a){a.isActive=!1})});if(b.hasData()||n)b.minorTickInterval&&!b.categories&&b.getMinorTickPositions().forEach(function(a){b.renderMinorTick(a)}),m.length&&(m.forEach(function(a,c){b.renderTick(a,c)}),h&&(0===
179
- b.min||b.single)&&(A[-1]||(A[-1]=new H(b,-1,null,!0)),A[-1].render(-1))),q&&m.forEach(function(c,e){t=void 0!==m[e+1]?m[e+1]+h:b.max-h;0===e%2&&c<b.max&&t<=b.max+(d.polar?-h:h)&&(l[c]||(l[c]=new a.PlotLineOrBand(b)),u=c+h,l[c].options={from:p?b.lin2log(u):u,to:p?b.lin2log(t):t,color:q},l[c].render(),l[c].isActive=!0)}),b._addedPlotLB||((e.plotLines||[]).concat(e.plotBands||[]).forEach(function(a){b.addPlotBandOrLine(a)}),b._addedPlotLB=!0);[A,f,l].forEach(function(a){var b,c=[],e=v.duration;z(a,function(a,
180
- b){a.isActive||(a.render(b,!1,0),a.isActive=!1,c.push(b))});D(function(){for(b=c.length;b--;)a[c[b]]&&!a[c[b]].isActive&&(a[c[b]].destroy(),delete a[c[b]])},a!==l&&d.hasRendered&&e?e:0)});F&&(F[F.isPlaced?"animate":"attr"]({d:this.getLinePath(F.strokeWidth())}),F.isPlaced=!0,F[r?"show":"hide"](!0));w&&r&&(e=b.getTitlePosition(),c(e.y)?(w[w.isNew?"attr":"animate"](e),w.isNew=!1):(w.attr("y",-9999),w.isNew=!0));E&&E.enabled&&b.renderStackTotals();b.isDirty=!1;g(this,"afterRender")},redraw:function(){this.visible&&
181
- (this.render(),this.plotLinesAndBands.forEach(function(a){a.render()}));this.series.forEach(function(a){a.isDirty=!0})},keepProps:"extKey hcEvents names series userMax userMin".split(" "),destroy:function(a){var b=this,c=b.stacks,d=b.plotLinesAndBands,e;g(this,"destroy",{keepEvents:a});a||m(b);z(c,function(a,b){q(a);c[b]=null});[b.ticks,b.minorTicks,b.alternateBands].forEach(function(a){q(a)});if(d)for(a=d.length;a--;)d[a].destroy();"stackTotalGroup axisLine axisTitle axisGroup gridGroup labelGroup cross scrollbar".split(" ").forEach(function(a){b[a]&&
182
- (b[a]=b[a].destroy())});for(e in b.plotLinesAndBandsGroups)b.plotLinesAndBandsGroups[e]=b.plotLinesAndBandsGroups[e].destroy();z(b,function(a,c){-1===b.keepProps.indexOf(c)&&delete b[c]})},drawCrosshair:function(a,b){var c,d=this.crosshair,e=F(d.snap,!0),k,p=this.cross;g(this,"drawCrosshair",{e:a,point:b});a||(a=this.cross&&this.cross.e);if(this.crosshair&&!1!==(x(b)||!e)){e?x(b)&&(k=F(b.crosshairPos,this.isXAxis?b.plotX:this.len-b.plotY)):k=a&&(this.horiz?a.chartX-this.pos:this.len-a.chartY+this.pos);
183
- x(k)&&(c=this.getPlotLinePath(b&&(this.isXAxis?b.x:F(b.stackY,b.y)),null,null,null,k)||null);if(!x(c)){this.hideCrosshair();return}e=this.categories&&!this.isRadial;p||(this.cross=p=this.chart.renderer.path().addClass("highcharts-crosshair highcharts-crosshair-"+(e?"category ":"thin ")+d.className).attr({zIndex:F(d.zIndex,2)}).add(),this.chart.styledMode||(p.attr({stroke:d.color||(e?h("#ccd6eb").setOpacity(.25).get():"#cccccc"),"stroke-width":F(d.width,1)}).css({"pointer-events":"none"}),d.dashStyle&&
184
- p.attr({dashstyle:d.dashStyle})));p.show().attr({d:c});e&&!d.width&&p.attr({"stroke-width":this.transA});this.cross.e=a}else this.hideCrosshair();g(this,"afterDrawCrosshair",{e:a,point:b})},hideCrosshair:function(){this.cross&&this.cross.hide();g(this,"afterHideCrosshair")}});return a.Axis=E});J(G,"parts/DateTimeAxis.js",[G["parts/Globals.js"]],function(a){var B=a.Axis,y=a.getMagnitude,C=a.normalizeTickInterval,r=a.timeUnits;B.prototype.getTimeTicks=function(){return this.chart.time.getTimeTicks.apply(this.chart.time,
185
- arguments)};B.prototype.normalizeTimeTickInterval=function(a,u){var h=u||[["millisecond",[1,2,5,10,20,25,50,100,200,500]],["second",[1,2,5,10,15,30]],["minute",[1,2,5,10,15,30]],["hour",[1,2,3,4,6,8,12]],["day",[1,2]],["week",[1,2]],["month",[1,2,3,4,6]],["year",null]];u=h[h.length-1];var x=r[u[0]],v=u[1],q;for(q=0;q<h.length&&!(u=h[q],x=r[u[0]],v=u[1],h[q+1]&&a<=(x*v[v.length-1]+r[h[q+1][0]])/2);q++);x===r.year&&a<5*x&&(v=[1,2,5]);a=C(a/x,v,"year"===u[0]?Math.max(y(a/x),1):1);return{unitRange:x,
186
- count:a,unitName:u[0]}}});J(G,"parts/LogarithmicAxis.js",[G["parts/Globals.js"]],function(a){var B=a.Axis,y=a.getMagnitude,C=a.normalizeTickInterval,r=a.pick;B.prototype.getLogTickPositions=function(a,u,t,x){var h=this.options,q=this.len,l=[];x||(this._minorAutoInterval=null);if(.5<=a)a=Math.round(a),l=this.getLinearTickPositions(a,u,t);else if(.08<=a)for(var q=Math.floor(u),g,f,d,b,c,h=.3<a?[1,2,4]:.15<a?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9];q<t+1&&!c;q++)for(f=h.length,g=0;g<f&&!c;g++)d=this.log2lin(this.lin2log(q)*
187
- h[g]),d>u&&(!x||b<=t)&&void 0!==b&&l.push(b),b>t&&(c=!0),b=d;else u=this.lin2log(u),t=this.lin2log(t),a=x?this.getMinorTickInterval():h.tickInterval,a=r("auto"===a?null:a,this._minorAutoInterval,h.tickPixelInterval/(x?5:1)*(t-u)/((x?q/this.tickPositions.length:q)||1)),a=C(a,null,y(a)),l=this.getLinearTickPositions(a,u,t).map(this.log2lin),x||(this._minorAutoInterval=a/5);x||(this.tickInterval=a);return l};B.prototype.log2lin=function(a){return Math.log(a)/Math.LN10};B.prototype.lin2log=function(a){return Math.pow(10,
188
- a)}});J(G,"parts/PlotLineOrBand.js",[G["parts/Globals.js"],G["parts/Axis.js"]],function(a,B){var y=a.arrayMax,C=a.arrayMin,r=a.defined,h=a.destroyObjectProperties,u=a.erase,t=a.merge,x=a.pick;a.PlotLineOrBand=function(a,q){this.axis=a;q&&(this.options=q,this.id=q.id)};a.PlotLineOrBand.prototype={render:function(){a.fireEvent(this,"render");var h=this,q=h.axis,l=q.horiz,g=h.options,f=g.label,d=h.label,b=g.to,c=g.from,e=g.value,n=r(c)&&r(b),w=r(e),z=h.svgElem,F=!z,m=[],p=g.color,A=x(g.zIndex,0),D=g.events,
189
- m={"class":"highcharts-plot-"+(n?"band ":"line ")+(g.className||"")},H={},E=q.chart.renderer,k=n?"bands":"lines";q.isLog&&(c=q.log2lin(c),b=q.log2lin(b),e=q.log2lin(e));q.chart.styledMode||(w?(m.stroke=p,m["stroke-width"]=g.width,g.dashStyle&&(m.dashstyle=g.dashStyle)):n&&(p&&(m.fill=p),g.borderWidth&&(m.stroke=g.borderColor,m["stroke-width"]=g.borderWidth)));H.zIndex=A;k+="-"+A;(p=q.plotLinesAndBandsGroups[k])||(q.plotLinesAndBandsGroups[k]=p=E.g("plot-"+k).attr(H).add());F&&(h.svgElem=z=E.path().attr(m).add(p));
190
- if(w)m=q.getPlotLinePath(e,z.strokeWidth());else if(n)m=q.getPlotBandPath(c,b,g);else return;(F||!z.d)&&m&&m.length?(z.attr({d:m}),D&&a.objectEach(D,function(a,b){z.on(b,function(a){D[b].apply(h,[a])})})):z&&(m?(z.show(!0),z.animate({d:m})):z.d&&(z.hide(),d&&(h.label=d=d.destroy())));f&&r(f.text)&&m&&m.length&&0<q.width&&0<q.height&&!m.isFlat?(f=t({align:l&&n&&"center",x:l?!n&&4:10,verticalAlign:!l&&n&&"middle",y:l?n?16:10:n?6:-4,rotation:l&&!n&&90},f),this.renderLabel(f,m,n,A)):d&&d.hide();return h},
191
- renderLabel:function(a,q,l,g){var f=this.label,d=this.axis.chart.renderer;f||(f={align:a.textAlign||a.align,rotation:a.rotation,"class":"highcharts-plot-"+(l?"band":"line")+"-label "+(a.className||"")},f.zIndex=g,this.label=f=d.text(a.text,0,0,a.useHTML).attr(f).add(),this.axis.chart.styledMode||f.css(a.style));g=q.xBounds||[q[1],q[4],l?q[6]:q[1]];q=q.yBounds||[q[2],q[5],l?q[7]:q[2]];l=C(g);d=C(q);f.align(a,!1,{x:l,y:d,width:y(g)-l,height:y(q)-d});f.show(!0)},destroy:function(){u(this.axis.plotLinesAndBands,
192
- this);delete this.axis;h(this)}};a.extend(B.prototype,{getPlotBandPath:function(a,q){var l=this.getPlotLinePath(q,null,null,!0),g=this.getPlotLinePath(a,null,null,!0),f=[],d=this.horiz,b=1,c;a=a<this.min&&q<this.min||a>this.max&&q>this.max;if(g&&l)for(a&&(c=g.toString()===l.toString(),b=0),a=0;a<g.length;a+=6)d&&l[a+1]===g[a+1]?(l[a+1]+=b,l[a+4]+=b):d||l[a+2]!==g[a+2]||(l[a+2]+=b,l[a+5]+=b),f.push("M",g[a+1],g[a+2],"L",g[a+4],g[a+5],l[a+4],l[a+5],l[a+1],l[a+2],"z"),f.isFlat=c;return f},addPlotBand:function(a){return this.addPlotBandOrLine(a,
193
- "plotBands")},addPlotLine:function(a){return this.addPlotBandOrLine(a,"plotLines")},addPlotBandOrLine:function(h,q){var l=(new a.PlotLineOrBand(this,h)).render(),g=this.userOptions;l&&(q&&(g[q]=g[q]||[],g[q].push(h)),this.plotLinesAndBands.push(l));return l},removePlotBandOrLine:function(a){for(var q=this.plotLinesAndBands,l=this.options,g=this.userOptions,f=q.length;f--;)q[f].id===a&&q[f].destroy();[l.plotLines||[],g.plotLines||[],l.plotBands||[],g.plotBands||[]].forEach(function(d){for(f=d.length;f--;)d[f].id===
194
- a&&u(d,d[f])})},removePlotBand:function(a){this.removePlotBandOrLine(a)},removePlotLine:function(a){this.removePlotBandOrLine(a)}})});J(G,"parts/Tooltip.js",[G["parts/Globals.js"]],function(a){var B=a.doc,y=a.extend,C=a.format,r=a.isNumber,h=a.merge,u=a.pick,t=a.splat,x=a.syncTimeout,v=a.timeUnits;a.Tooltip=function(){this.init.apply(this,arguments)};a.Tooltip.prototype={init:function(a,l){this.chart=a;this.options=l;this.crosshairs=[];this.now={x:0,y:0};this.isHidden=!0;this.split=l.split&&!a.inverted;
195
- this.shared=l.shared||this.split;this.outside=l.outside&&!this.split},cleanSplit:function(a){this.chart.series.forEach(function(l){var g=l&&l.tt;g&&(!g.isActive||a?l.tt=g.destroy():g.isActive=!1)})},applyFilter:function(){var a=this.chart;a.renderer.definition({tagName:"filter",id:"drop-shadow-"+a.index,opacity:.5,children:[{tagName:"feGaussianBlur","in":"SourceAlpha",stdDeviation:1},{tagName:"feOffset",dx:1,dy:1},{tagName:"feComponentTransfer",children:[{tagName:"feFuncA",type:"linear",slope:.3}]},
196
- {tagName:"feMerge",children:[{tagName:"feMergeNode"},{tagName:"feMergeNode","in":"SourceGraphic"}]}]});a.renderer.definition({tagName:"style",textContent:".highcharts-tooltip-"+a.index+"{filter:url(#drop-shadow-"+a.index+")}"})},getLabel:function(){var q=this,l=this.chart.renderer,g=this.chart.styledMode,f=this.options,d,b;this.label||(this.outside&&(this.container=d=a.doc.createElement("div"),d.className="highcharts-tooltip-container",a.css(d,{position:"absolute",top:"1px",pointerEvents:f.style&&
197
- f.style.pointerEvents}),a.doc.body.appendChild(d),this.renderer=l=new a.Renderer(d,0,0)),this.split?this.label=l.g("tooltip"):(this.label=l.label("",0,0,f.shape||"callout",null,null,f.useHTML,null,"tooltip").attr({padding:f.padding,r:f.borderRadius}),g||this.label.attr({fill:f.backgroundColor,"stroke-width":f.borderWidth}).css(f.style).shadow(f.shadow)),g&&(this.applyFilter(),this.label.addClass("highcharts-tooltip-"+this.chart.index)),this.outside&&(b={x:this.label.xSetter,y:this.label.ySetter},
198
- this.label.xSetter=function(a,e){b[e].call(this.label,q.distance);d.style.left=a+"px"},this.label.ySetter=function(a,e){b[e].call(this.label,q.distance);d.style.top=a+"px"}),this.label.attr({zIndex:8}).add());return this.label},update:function(a){this.destroy();h(!0,this.chart.options.tooltip.userOptions,a);this.init(this.chart,h(!0,this.options,a))},destroy:function(){this.label&&(this.label=this.label.destroy());this.split&&this.tt&&(this.cleanSplit(this.chart,!0),this.tt=this.tt.destroy());this.renderer&&
199
- (this.renderer=this.renderer.destroy(),a.discardElement(this.container));a.clearTimeout(this.hideTimer);a.clearTimeout(this.tooltipTimeout)},move:function(q,l,g,f){var d=this,b=d.now,c=!1!==d.options.animation&&!d.isHidden&&(1<Math.abs(q-b.x)||1<Math.abs(l-b.y)),e=d.followPointer||1<d.len;y(b,{x:c?(2*b.x+q)/3:q,y:c?(b.y+l)/2:l,anchorX:e?void 0:c?(2*b.anchorX+g)/3:g,anchorY:e?void 0:c?(b.anchorY+f)/2:f});d.getLabel().attr(b);c&&(a.clearTimeout(this.tooltipTimeout),this.tooltipTimeout=setTimeout(function(){d&&
200
- d.move(q,l,g,f)},32))},hide:function(q){var l=this;a.clearTimeout(this.hideTimer);q=u(q,this.options.hideDelay,500);this.isHidden||(this.hideTimer=x(function(){l.getLabel()[q?"fadeOut":"hide"]();l.isHidden=!0},q))},getAnchor:function(a,l){var g=this.chart,f=g.pointer,d=g.inverted,b=g.plotTop,c=g.plotLeft,e=0,n=0,w,z;a=t(a);this.followPointer&&l?(void 0===l.chartX&&(l=f.normalize(l)),a=[l.chartX-g.plotLeft,l.chartY-b]):a[0].tooltipPos?a=a[0].tooltipPos:(a.forEach(function(a){w=a.series.yAxis;z=a.series.xAxis;
201
- e+=a.plotX+(!d&&z?z.left-c:0);n+=(a.plotLow?(a.plotLow+a.plotHigh)/2:a.plotY)+(!d&&w?w.top-b:0)}),e/=a.length,n/=a.length,a=[d?g.plotWidth-n:e,this.shared&&!d&&1<a.length&&l?l.chartY-b:d?g.plotHeight-e:n]);return a.map(Math.round)},getPosition:function(a,l,g){var f=this.chart,d=this.distance,b={},c=f.inverted&&g.h||0,e,n=this.outside,w=n?B.documentElement.clientWidth-2*d:f.chartWidth,z=n?Math.max(B.body.scrollHeight,B.documentElement.scrollHeight,B.body.offsetHeight,B.documentElement.offsetHeight,
202
- B.documentElement.clientHeight):f.chartHeight,q=f.pointer.chartPosition,m=["y",z,l,(n?q.top-d:0)+g.plotY+f.plotTop,n?0:f.plotTop,n?z:f.plotTop+f.plotHeight],p=["x",w,a,(n?q.left-d:0)+g.plotX+f.plotLeft,n?0:f.plotLeft,n?w:f.plotLeft+f.plotWidth],A=!this.followPointer&&u(g.ttBelow,!f.inverted===!!g.negative),D=function(a,e,k,p,n,m){var w=k<p-d,D=p+d+k<e,g=p-d-k;p+=d;if(A&&D)b[a]=p;else if(!A&&w)b[a]=g;else if(w)b[a]=Math.min(m-k,0>g-c?g:g-c);else if(D)b[a]=Math.max(n,p+c+k>e?p:p+c);else return!1},h=
203
- function(a,c,e,k){var p;k<d||k>c-d?p=!1:b[a]=k<e/2?1:k>c-e/2?c-e-2:k-e/2;return p},E=function(a){var b=m;m=p;p=b;e=a},k=function(){!1!==D.apply(0,m)?!1!==h.apply(0,p)||e||(E(!0),k()):e?b.x=b.y=0:(E(!0),k())};(f.inverted||1<this.len)&&E();k();return b},defaultFormatter:function(a){var l=this.points||t(this),g;g=[a.tooltipFooterHeaderFormatter(l[0])];g=g.concat(a.bodyFormatter(l));g.push(a.tooltipFooterHeaderFormatter(l[0],!0));return g},refresh:function(q,l){var g=this.chart,f=this.options,d,b=q,c,
204
- e={},n,w=[];n=f.formatter||this.defaultFormatter;var e=this.shared,z=g.styledMode,h=[];f.enabled&&(a.clearTimeout(this.hideTimer),this.followPointer=t(b)[0].series.tooltipOptions.followPointer,c=this.getAnchor(b,l),l=c[0],d=c[1],!e||b.series&&b.series.noSharedTooltip?e=b.getLabelConfig():(h=g.pointer.getActiveSeries(b),g.series.forEach(function(a){(a.options.inactiveOtherPoints||-1===h.indexOf(a))&&a.setState("inactive",!0)}),b.forEach(function(a){a.setState("hover");w.push(a.getLabelConfig())}),
205
- e={x:b[0].category,y:b[0].y},e.points=w,b=b[0]),this.len=w.length,n=n.call(e,this),e=b.series,this.distance=u(e.tooltipOptions.distance,16),!1===n?this.hide():(g=this.getLabel(),this.isHidden&&g.attr({opacity:1}).show(),this.split?this.renderSplit(n,t(q)):(f.style.width&&!z||g.css({width:this.chart.spacingBox.width}),g.attr({text:n&&n.join?n.join(""):n}),g.removeClass(/highcharts-color-[\d]+/g).addClass("highcharts-color-"+u(b.colorIndex,e.colorIndex)),z||g.attr({stroke:f.borderColor||b.color||e.color||
206
- "#666666"}),this.updatePosition({plotX:l,plotY:d,negative:b.negative,ttBelow:b.ttBelow,h:c[2]||0})),this.isHidden=!1),a.fireEvent(this,"refresh"))},renderSplit:function(h,l){var g=this,f=[],d=this.chart,b=d.renderer,c=!0,e=this.options,n=0,w,z=this.getLabel(),q=d.plotTop;a.isString(h)&&(h=[!1,h]);h.slice(0,l.length+1).forEach(function(a,p){if(!1!==a&&""!==a){p=l[p-1]||{isHeader:!0,plotX:l[0].plotX,plotY:d.plotHeight};var m=p.series||g,D=m.tt,h=p.series||{},E="highcharts-color-"+u(p.colorIndex,h.colorIndex,
207
- "none");D||(D={padding:e.padding,r:e.borderRadius},d.styledMode||(D.fill=e.backgroundColor,D.stroke=e.borderColor||p.color||h.color||"#333333",D["stroke-width"]=e.borderWidth),m.tt=D=b.label(null,null,null,(p.isHeader?e.headerShape:e.shape)||"callout",null,null,e.useHTML).addClass("highcharts-tooltip-box "+E).attr(D).add(z));D.isActive=!0;D.attr({text:a});d.styledMode||D.css(e.style).shadow(e.shadow);a=D.getBBox();h=a.width+D.strokeWidth();p.isHeader?(n=a.height,d.xAxis[0].opposite&&(w=!0,q-=n),h=
208
- Math.max(0,Math.min(p.plotX+d.plotLeft-h/2,d.chartWidth+(d.scrollablePixels?d.scrollablePixels-d.marginRight:0)-h))):h=p.plotX+d.plotLeft-u(e.distance,16)-h;0>h&&(c=!1);a=(p.series&&p.series.yAxis&&p.series.yAxis.pos)+(p.plotY||0);a-=q;p.isHeader&&(a=w?-n:d.plotHeight+n);f.push({target:a,rank:p.isHeader?1:0,size:m.tt.getBBox().height+1,point:p,x:h,tt:D})}});this.cleanSplit();e.positioner&&f.forEach(function(a){var b=e.positioner.call(g,a.tt.getBBox().width,a.size,a.point);a.x=b.x;a.align=0;a.target=
209
- b.y;a.rank=u(b.rank,a.rank)});a.distribute(f,d.plotHeight+n);f.forEach(function(a){var b=a.point,n=b.series;a.tt.attr({visibility:void 0===a.pos?"hidden":"inherit",x:c||b.isHeader||e.positioner?a.x:b.plotX+d.plotLeft+g.distance,y:a.pos+q,anchorX:b.isHeader?b.plotX+d.plotLeft:b.plotX+n.xAxis.pos,anchorY:b.isHeader?d.plotTop+d.plotHeight/2:b.plotY+n.yAxis.pos})})},updatePosition:function(a){var l=this.chart,g=this.getLabel(),f=(this.options.positioner||this.getPosition).call(this,g.width,g.height,a),
210
- d=a.plotX+l.plotLeft;a=a.plotY+l.plotTop;var b;this.outside&&(b=(this.options.borderWidth||0)+2*this.distance,this.renderer.setSize(g.width+b,g.height+b,!1),d+=l.pointer.chartPosition.left-f.x,a+=l.pointer.chartPosition.top-f.y);this.move(Math.round(f.x),Math.round(f.y||0),d,a)},getDateFormat:function(a,l,g,f){var d=this.chart.time,b=d.dateFormat("%m-%d %H:%M:%S.%L",l),c,e,n={millisecond:15,second:12,minute:9,hour:6,day:3},w="millisecond";for(e in v){if(a===v.week&&+d.dateFormat("%w",l)===g&&"00:00:00.000"===
211
- b.substr(6)){e="week";break}if(v[e]>a){e=w;break}if(n[e]&&b.substr(n[e])!=="01-01 00:00:00.000".substr(n[e]))break;"week"!==e&&(w=e)}e&&(c=d.resolveDTLFormat(f[e]).main);return c},getXDateFormat:function(a,l,g){l=l.dateTimeLabelFormats;var f=g&&g.closestPointRange;return(f?this.getDateFormat(f,a.x,g.options.startOfWeek,l):l.day)||l.year},tooltipFooterHeaderFormatter:function(h,l){var g=l?"footer":"header",f=h.series,d=f.tooltipOptions,b=d.xDateFormat,c=f.xAxis,e=c&&"datetime"===c.options.type&&r(h.key),
212
- n=d[g+"Format"];l={isFooter:l,labelConfig:h};a.fireEvent(this,"headerFormatter",l,function(a){e&&!b&&(b=this.getXDateFormat(h,d,c));e&&b&&(h.point&&h.point.tooltipDateKeys||["key"]).forEach(function(a){n=n.replace("{point."+a+"}","{point."+a+":"+b+"}")});f.chart.styledMode&&(n=this.styledModeFormat(n));a.text=C(n,{point:h,series:f},this.chart.time)});return l.text},bodyFormatter:function(a){return a.map(function(a){var g=a.series.tooltipOptions;return(g[(a.point.formatPrefix||"point")+"Formatter"]||
213
- a.point.tooltipFormatter).call(a.point,g[(a.point.formatPrefix||"point")+"Format"]||"")})},styledModeFormat:function(a){return a.replace('style\x3d"font-size: 10px"','class\x3d"highcharts-header"').replace(/style="color:{(point|series)\.color}"/g,'class\x3d"highcharts-color-{$1.colorIndex}"')}}});J(G,"parts/Pointer.js",[G["parts/Globals.js"]],function(a){var B=a.addEvent,y=a.attr,C=a.charts,r=a.color,h=a.css,u=a.defined,t=a.extend,x=a.find,v=a.fireEvent,q=a.isNumber,l=a.isObject,g=a.offset,f=a.pick,
214
- d=a.splat,b=a.Tooltip;a.Pointer=function(a,b){this.init(a,b)};a.Pointer.prototype={init:function(a,d){this.options=d;this.chart=a;this.runChartClick=d.chart.events&&!!d.chart.events.click;this.pinchDown=[];this.lastValidTouch={};b&&(a.tooltip=new b(a,d.tooltip),this.followTouchMove=f(d.tooltip.followTouchMove,!0));this.setDOMEvents()},zoomOption:function(a){var b=this.chart,c=b.options.chart,d=c.zoomType||"",b=b.inverted;/touch/.test(a.type)&&(d=f(c.pinchType,d));this.zoomX=a=/x/.test(d);this.zoomY=
215
- d=/y/.test(d);this.zoomHor=a&&!b||d&&b;this.zoomVert=d&&!b||a&&b;this.hasZoom=a||d},normalize:function(a,b){var c;c=a.touches?a.touches.length?a.touches.item(0):a.changedTouches[0]:a;b||(this.chartPosition=b=g(this.chart.container));return t(a,{chartX:Math.round(c.pageX-b.left),chartY:Math.round(c.pageY-b.top)})},getCoordinates:function(a){var b={xAxis:[],yAxis:[]};this.chart.axes.forEach(function(c){b[c.isXAxis?"xAxis":"yAxis"].push({axis:c,value:c.toValue(a[c.horiz?"chartX":"chartY"])})});return b},
216
- findNearestKDPoint:function(a,b,d){var c;a.forEach(function(a){var e=!(a.noSharedTooltip&&b)&&0>a.options.findNearestPointBy.indexOf("y");a=a.searchPoint(d,e);if((e=l(a,!0))&&!(e=!l(c,!0)))var e=c.distX-a.distX,n=c.dist-a.dist,p=(a.series.group&&a.series.group.zIndex)-(c.series.group&&c.series.group.zIndex),e=0<(0!==e&&b?e:0!==n?n:0!==p?p:c.series.index>a.series.index?-1:1);e&&(c=a)});return c},getPointFromEvent:function(a){a=a.target;for(var b;a&&!b;)b=a.point,a=a.parentNode;return b},getChartCoordinatesFromPoint:function(a,
217
- b){var c=a.series,d=c.xAxis,c=c.yAxis,e=f(a.clientX,a.plotX),g=a.shapeArgs;if(d&&c)return b?{chartX:d.len+d.pos-e,chartY:c.len+c.pos-a.plotY}:{chartX:e+d.pos,chartY:a.plotY+c.pos};if(g&&g.x&&g.y)return{chartX:g.x,chartY:g.y}},getHoverData:function(a,b,d,w,g,h){var c,e=[];w=!(!w||!a);var n=b&&!b.stickyTracking?[b]:d.filter(function(a){return a.visible&&!(!g&&a.directTouch)&&f(a.options.enableMouseTracking,!0)&&a.stickyTracking});b=(c=w?a:this.findNearestKDPoint(n,g,h))&&c.series;c&&(g&&!b.noSharedTooltip?
218
- (n=d.filter(function(a){return a.visible&&!(!g&&a.directTouch)&&f(a.options.enableMouseTracking,!0)&&!a.noSharedTooltip}),n.forEach(function(a){var b=x(a.points,function(a){return a.x===c.x&&!a.isNull});l(b)&&(a.chart.isBoosting&&(b=a.getPoint(b)),e.push(b))})):e.push(c));return{hoverPoint:c,hoverSeries:b,hoverPoints:e}},runPointActions:function(b,d){var c=this.chart,e=c.tooltip&&c.tooltip.options.enabled?c.tooltip:void 0,g=e?e.shared:!1,l=d||c.hoverPoint,m=l&&l.series||c.hoverSeries,m=this.getHoverData(l,
219
- m,c.series,"touchmove"!==b.type&&(!!d||m&&m.directTouch&&this.isDirectTouch),g,b),p=[],A,l=m.hoverPoint;A=m.hoverPoints;d=(m=m.hoverSeries)&&m.tooltipOptions.followPointer;g=g&&m&&!m.noSharedTooltip;if(l&&(l!==c.hoverPoint||e&&e.isHidden)){(c.hoverPoints||[]).forEach(function(a){-1===A.indexOf(a)&&a.setState()});if(c.hoverSeries!==m)m.onMouseOver();p=this.getActiveSeries(A);c.series.forEach(function(a){(a.options.inactiveOtherPoints||-1===p.indexOf(a))&&a.setState("inactive",!0)});(A||[]).forEach(function(a){a.setState("hover")});
220
- c.hoverPoint&&c.hoverPoint.firePointEvent("mouseOut");if(!l.series)return;l.firePointEvent("mouseOver");c.hoverPoints=A;c.hoverPoint=l;e&&e.refresh(g?A:l,b)}else d&&e&&!e.isHidden&&(l=e.getAnchor([{}],b),e.updatePosition({plotX:l[0],plotY:l[1]}));this.unDocMouseMove||(this.unDocMouseMove=B(c.container.ownerDocument,"mousemove",function(b){var c=C[a.hoverChartIndex];if(c)c.pointer.onDocumentMouseMove(b)}));c.axes.forEach(function(c){var d=f(c.crosshair.snap,!0),e=d?a.find(A,function(a){return a.series[c.coll]===
221
- c}):void 0;e||!d?c.drawCrosshair(b,e):c.hideCrosshair()})},getActiveSeries:function(a){var b=[],c;(a||[]).forEach(function(a){c=a.series;b.push(c);c.linkedParent&&b.push(c.linkedParent);c.linkedSeries&&(b=b.concat(c.linkedSeries));c.navigatorSeries&&b.push(c.navigatorSeries)});return b},reset:function(a,b){var c=this.chart,e=c.hoverSeries,g=c.hoverPoint,f=c.hoverPoints,m=c.tooltip,p=m&&m.shared?f:g;a&&p&&d(p).forEach(function(b){b.series.isCartesian&&void 0===b.plotX&&(a=!1)});if(a)m&&p&&d(p).length&&
222
- (m.refresh(p),m.shared&&f?f.forEach(function(a){a.setState(a.state,!0);a.series.isCartesian&&(a.series.xAxis.crosshair&&a.series.xAxis.drawCrosshair(null,a),a.series.yAxis.crosshair&&a.series.yAxis.drawCrosshair(null,a))}):g&&(g.setState(g.state,!0),c.axes.forEach(function(a){a.crosshair&&a.drawCrosshair(null,g)})));else{if(g)g.onMouseOut();f&&f.forEach(function(a){a.setState()});if(e)e.onMouseOut();m&&m.hide(b);this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove());c.axes.forEach(function(a){a.hideCrosshair()});
223
- this.hoverX=c.hoverPoints=c.hoverPoint=null}},scaleGroups:function(a,b){var c=this.chart,d;c.series.forEach(function(e){d=a||e.getPlotBox();e.xAxis&&e.xAxis.zoomEnabled&&e.group&&(e.group.attr(d),e.markerGroup&&(e.markerGroup.attr(d),e.markerGroup.clip(b?c.clipRect:null)),e.dataLabelsGroup&&e.dataLabelsGroup.attr(d))});c.clipRect.attr(b||c.clipBox)},dragStart:function(a){var b=this.chart;b.mouseIsDown=a.type;b.cancelClick=!1;b.mouseDownX=this.mouseDownX=a.chartX;b.mouseDownY=this.mouseDownY=a.chartY},
224
- drag:function(a){var b=this.chart,c=b.options.chart,d=a.chartX,g=a.chartY,f=this.zoomHor,m=this.zoomVert,p=b.plotLeft,A=b.plotTop,l=b.plotWidth,h=b.plotHeight,E,k=this.selectionMarker,q=this.mouseDownX,u=this.mouseDownY,v=c.panKey&&a[c.panKey+"Key"];k&&k.touch||(d<p?d=p:d>p+l&&(d=p+l),g<A?g=A:g>A+h&&(g=A+h),this.hasDragged=Math.sqrt(Math.pow(q-d,2)+Math.pow(u-g,2)),10<this.hasDragged&&(E=b.isInsidePlot(q-p,u-A),b.hasCartesianSeries&&(this.zoomX||this.zoomY)&&E&&!v&&!k&&(this.selectionMarker=k=b.renderer.rect(p,
225
- A,f?1:l,m?1:h,0).attr({"class":"highcharts-selection-marker",zIndex:7}).add(),b.styledMode||k.attr({fill:c.selectionMarkerFill||r("#335cad").setOpacity(.25).get()})),k&&f&&(d-=q,k.attr({width:Math.abs(d),x:(0<d?0:d)+q})),k&&m&&(d=g-u,k.attr({height:Math.abs(d),y:(0<d?0:d)+u})),E&&!k&&c.panning&&b.pan(a,c.panning)))},drop:function(a){var b=this,c=this.chart,d=this.hasPinched;if(this.selectionMarker){var g={originalEvent:a,xAxis:[],yAxis:[]},f=this.selectionMarker,m=f.attr?f.attr("x"):f.x,p=f.attr?
226
- f.attr("y"):f.y,A=f.attr?f.attr("width"):f.width,l=f.attr?f.attr("height"):f.height,H;if(this.hasDragged||d)c.axes.forEach(function(c){if(c.zoomEnabled&&u(c.min)&&(d||b[{xAxis:"zoomX",yAxis:"zoomY"}[c.coll]])){var e=c.horiz,n="touchend"===a.type?c.minPixelPadding:0,f=c.toValue((e?m:p)+n),e=c.toValue((e?m+A:p+l)-n);g[c.coll].push({axis:c,min:Math.min(f,e),max:Math.max(f,e)});H=!0}}),H&&v(c,"selection",g,function(a){c.zoom(t(a,d?{animation:!1}:null))});q(c.index)&&(this.selectionMarker=this.selectionMarker.destroy());
227
- d&&this.scaleGroups()}c&&q(c.index)&&(h(c.container,{cursor:c._cursor}),c.cancelClick=10<this.hasDragged,c.mouseIsDown=this.hasDragged=this.hasPinched=!1,this.pinchDown=[])},onContainerMouseDown:function(a){a=this.normalize(a);2!==a.button&&(this.zoomOption(a),a.preventDefault&&a.preventDefault(),this.dragStart(a))},onDocumentMouseUp:function(b){C[a.hoverChartIndex]&&C[a.hoverChartIndex].pointer.drop(b)},onDocumentMouseMove:function(a){var b=this.chart,c=this.chartPosition;a=this.normalize(a,c);!c||
228
- this.inClass(a.target,"highcharts-tracker")||b.isInsidePlot(a.chartX-b.plotLeft,a.chartY-b.plotTop)||this.reset()},onContainerMouseLeave:function(b){var c=C[a.hoverChartIndex];c&&(b.relatedTarget||b.toElement)&&(c.pointer.reset(),c.pointer.chartPosition=null)},onContainerMouseMove:function(b){var c=this.chart;u(a.hoverChartIndex)&&C[a.hoverChartIndex]&&C[a.hoverChartIndex].mouseIsDown||(a.hoverChartIndex=c.index);b=this.normalize(b);b.preventDefault||(b.returnValue=!1);"mousedown"===c.mouseIsDown&&
229
- this.drag(b);!this.inClass(b.target,"highcharts-tracker")&&!c.isInsidePlot(b.chartX-c.plotLeft,b.chartY-c.plotTop)||c.openMenu||this.runPointActions(b)},inClass:function(a,b){for(var c;a;){if(c=y(a,"class")){if(-1!==c.indexOf(b))return!0;if(-1!==c.indexOf("highcharts-container"))return!1}a=a.parentNode}},onTrackerMouseOut:function(a){var b=this.chart.hoverSeries;a=a.relatedTarget||a.toElement;this.isDirectTouch=!1;if(!(!b||!a||b.stickyTracking||this.inClass(a,"highcharts-tooltip")||this.inClass(a,
230
- "highcharts-series-"+b.index)&&this.inClass(a,"highcharts-tracker")))b.onMouseOut()},onContainerClick:function(a){var b=this.chart,c=b.hoverPoint,d=b.plotLeft,g=b.plotTop;a=this.normalize(a);b.cancelClick||(c&&this.inClass(a.target,"highcharts-tracker")?(v(c.series,"click",t(a,{point:c})),b.hoverPoint&&c.firePointEvent("click",a)):(t(a,this.getCoordinates(a)),b.isInsidePlot(a.chartX-d,a.chartY-g)&&v(b,"click",a)))},setDOMEvents:function(){var b=this,d=b.chart.container,n=d.ownerDocument;d.onmousedown=
231
- function(a){b.onContainerMouseDown(a)};d.onmousemove=function(a){b.onContainerMouseMove(a)};d.onclick=function(a){b.onContainerClick(a)};this.unbindContainerMouseLeave=B(d,"mouseleave",b.onContainerMouseLeave);a.unbindDocumentMouseUp||(a.unbindDocumentMouseUp=B(n,"mouseup",b.onDocumentMouseUp));a.hasTouch&&(d.ontouchstart=function(a){b.onContainerTouchStart(a)},d.ontouchmove=function(a){b.onContainerTouchMove(a)},a.unbindDocumentTouchEnd||(a.unbindDocumentTouchEnd=B(n,"touchend",b.onDocumentTouchEnd)))},
232
- destroy:function(){var b=this;b.unDocMouseMove&&b.unDocMouseMove();this.unbindContainerMouseLeave();a.chartCount||(a.unbindDocumentMouseUp&&(a.unbindDocumentMouseUp=a.unbindDocumentMouseUp()),a.unbindDocumentTouchEnd&&(a.unbindDocumentTouchEnd=a.unbindDocumentTouchEnd()));clearInterval(b.tooltipTimeout);a.objectEach(b,function(a,c){b[c]=null})}}});J(G,"parts/TouchPointer.js",[G["parts/Globals.js"]],function(a){var B=a.charts,y=a.extend,C=a.noop,r=a.pick;y(a.Pointer.prototype,{pinchTranslate:function(a,
233
- r,t,x,v,q){this.zoomHor&&this.pinchTranslateDirection(!0,a,r,t,x,v,q);this.zoomVert&&this.pinchTranslateDirection(!1,a,r,t,x,v,q)},pinchTranslateDirection:function(a,r,t,x,v,q,l,g){var f=this.chart,d=a?"x":"y",b=a?"X":"Y",c="chart"+b,e=a?"width":"height",n=f["plot"+(a?"Left":"Top")],w,h,F=g||1,m=f.inverted,p=f.bounds[a?"h":"v"],A=1===r.length,D=r[0][c],H=t[0][c],E=!A&&r[1][c],k=!A&&t[1][c],I;t=function(){!A&&20<Math.abs(D-E)&&(F=g||Math.abs(H-k)/Math.abs(D-E));h=(n-H)/F+D;w=f["plot"+(a?"Width":"Height")]/
234
- F};t();r=h;r<p.min?(r=p.min,I=!0):r+w>p.max&&(r=p.max-w,I=!0);I?(H-=.8*(H-l[d][0]),A||(k-=.8*(k-l[d][1])),t()):l[d]=[H,k];m||(q[d]=h-n,q[e]=w);q=m?1/F:F;v[e]=w;v[d]=r;x[m?a?"scaleY":"scaleX":"scale"+b]=F;x["translate"+b]=q*n+(H-q*D)},pinch:function(a){var h=this,t=h.chart,x=h.pinchDown,v=a.touches,q=v.length,l=h.lastValidTouch,g=h.hasZoom,f=h.selectionMarker,d={},b=1===q&&(h.inClass(a.target,"highcharts-tracker")&&t.runTrackerClick||h.runChartClick),c={};1<q&&(h.initiated=!0);g&&h.initiated&&!b&&
235
- a.preventDefault();[].map.call(v,function(a){return h.normalize(a)});"touchstart"===a.type?([].forEach.call(v,function(a,b){x[b]={chartX:a.chartX,chartY:a.chartY}}),l.x=[x[0].chartX,x[1]&&x[1].chartX],l.y=[x[0].chartY,x[1]&&x[1].chartY],t.axes.forEach(function(a){if(a.zoomEnabled){var b=t.bounds[a.horiz?"h":"v"],c=a.minPixelPadding,d=a.toPixels(r(a.options.min,a.dataMin)),e=a.toPixels(r(a.options.max,a.dataMax)),m=Math.max(d,e);b.min=Math.min(a.pos,Math.min(d,e)-c);b.max=Math.max(a.pos+a.len,m+c)}}),
236
- h.res=!0):h.followTouchMove&&1===q?this.runPointActions(h.normalize(a)):x.length&&(f||(h.selectionMarker=f=y({destroy:C,touch:!0},t.plotBox)),h.pinchTranslate(x,v,d,f,c,l),h.hasPinched=g,h.scaleGroups(d,c),h.res&&(h.res=!1,this.reset(!1,0)))},touch:function(h,u){var t=this.chart,x,v;if(t.index!==a.hoverChartIndex)this.onContainerMouseLeave({relatedTarget:!0});a.hoverChartIndex=t.index;1===h.touches.length?(h=this.normalize(h),(v=t.isInsidePlot(h.chartX-t.plotLeft,h.chartY-t.plotTop))&&!t.openMenu?
237
- (u&&this.runPointActions(h),"touchmove"===h.type&&(u=this.pinchDown,x=u[0]?4<=Math.sqrt(Math.pow(u[0].chartX-h.chartX,2)+Math.pow(u[0].chartY-h.chartY,2)):!1),r(x,!0)&&this.pinch(h)):u&&this.reset()):2===h.touches.length&&this.pinch(h)},onContainerTouchStart:function(a){this.zoomOption(a);this.touch(a,!0)},onContainerTouchMove:function(a){this.touch(a)},onDocumentTouchEnd:function(h){B[a.hoverChartIndex]&&B[a.hoverChartIndex].pointer.drop(h)}})});J(G,"parts/MSPointer.js",[G["parts/Globals.js"]],function(a){var B=
238
- a.addEvent,y=a.charts,C=a.css,r=a.doc,h=a.extend,u=a.noop,t=a.Pointer,x=a.removeEvent,v=a.win,q=a.wrap;if(!a.hasTouch&&(v.PointerEvent||v.MSPointerEvent)){var l={},g=!!v.PointerEvent,f=function(){var b=[];b.item=function(a){return this[a]};a.objectEach(l,function(a){b.push({pageX:a.pageX,pageY:a.pageY,target:a.target})});return b},d=function(b,c,d,n){"touch"!==b.pointerType&&b.pointerType!==b.MSPOINTER_TYPE_TOUCH||!y[a.hoverChartIndex]||(n(b),n=y[a.hoverChartIndex].pointer,n[c]({type:d,target:b.currentTarget,
239
- preventDefault:u,touches:f()}))};h(t.prototype,{onContainerPointerDown:function(a){d(a,"onContainerTouchStart","touchstart",function(a){l[a.pointerId]={pageX:a.pageX,pageY:a.pageY,target:a.currentTarget}})},onContainerPointerMove:function(a){d(a,"onContainerTouchMove","touchmove",function(a){l[a.pointerId]={pageX:a.pageX,pageY:a.pageY};l[a.pointerId].target||(l[a.pointerId].target=a.currentTarget)})},onDocumentPointerUp:function(a){d(a,"onDocumentTouchEnd","touchend",function(a){delete l[a.pointerId]})},
240
- batchMSEvents:function(a){a(this.chart.container,g?"pointerdown":"MSPointerDown",this.onContainerPointerDown);a(this.chart.container,g?"pointermove":"MSPointerMove",this.onContainerPointerMove);a(r,g?"pointerup":"MSPointerUp",this.onDocumentPointerUp)}});q(t.prototype,"init",function(a,c,d){a.call(this,c,d);this.hasZoom&&C(c.container,{"-ms-touch-action":"none","touch-action":"none"})});q(t.prototype,"setDOMEvents",function(a){a.apply(this);(this.hasZoom||this.followTouchMove)&&this.batchMSEvents(B)});
241
- q(t.prototype,"destroy",function(a){this.batchMSEvents(x);a.call(this)})}});J(G,"parts/Legend.js",[G["parts/Globals.js"]],function(a){var B=a.addEvent,y=a.css,C=a.discardElement,r=a.defined,h=a.fireEvent,u=a.isFirefox,t=a.marginNames,x=a.merge,v=a.pick,q=a.setAnimation,l=a.stableSort,g=a.win,f=a.wrap;a.Legend=function(a,b){this.init(a,b)};a.Legend.prototype={init:function(a,b){this.chart=a;this.setOptions(b);b.enabled&&(this.render(),B(this.chart,"endResize",function(){this.legend.positionCheckboxes()}),
242
- this.proximate?this.unchartrender=B(this.chart,"render",function(){this.legend.proximatePositions();this.legend.positionItems()}):this.unchartrender&&this.unchartrender())},setOptions:function(a){var b=v(a.padding,8);this.options=a;this.chart.styledMode||(this.itemStyle=a.itemStyle,this.itemHiddenStyle=x(this.itemStyle,a.itemHiddenStyle));this.itemMarginTop=a.itemMarginTop||0;this.padding=b;this.initialItemY=b-5;this.symbolWidth=v(a.symbolWidth,16);this.pages=[];this.proximate="proximate"===a.layout&&
243
- !this.chart.inverted},update:function(a,b){var c=this.chart;this.setOptions(x(!0,this.options,a));this.destroy();c.isDirtyLegend=c.isDirtyBox=!0;v(b,!0)&&c.redraw();h(this,"afterUpdate")},colorizeItem:function(a,b){a.legendGroup[b?"removeClass":"addClass"]("highcharts-legend-item-hidden");if(!this.chart.styledMode){var c=this.options,d=a.legendItem,n=a.legendLine,g=a.legendSymbol,f=this.itemHiddenStyle.color,c=b?c.itemStyle.color:f,l=b?a.color||f:f,m=a.options&&a.options.marker,p={fill:l};d&&d.css({fill:c,
244
- color:c});n&&n.attr({stroke:l});g&&(m&&g.isMarker&&(p=a.pointAttribs(),b||(p.stroke=p.fill=f)),g.attr(p))}h(this,"afterColorizeItem",{item:a,visible:b})},positionItems:function(){this.allItems.forEach(this.positionItem,this);this.chart.isResizing||this.positionCheckboxes()},positionItem:function(a){var b=this.options,c=b.symbolPadding,b=!b.rtl,d=a._legendItemPos,n=d[0],d=d[1],g=a.checkbox;if((a=a.legendGroup)&&a.element)a[r(a.translateY)?"animate":"attr"]({translateX:b?n:this.legendWidth-n-2*c-4,
245
- translateY:d});g&&(g.x=n,g.y=d)},destroyItem:function(a){var b=a.checkbox;["legendItem","legendLine","legendSymbol","legendGroup"].forEach(function(b){a[b]&&(a[b]=a[b].destroy())});b&&C(a.checkbox)},destroy:function(){function a(a){this[a]&&(this[a]=this[a].destroy())}this.getAllItems().forEach(function(b){["legendItem","legendGroup"].forEach(a,b)});"clipRect up down pager nav box title group".split(" ").forEach(a,this);this.display=null},positionCheckboxes:function(){var a=this.group&&this.group.alignAttr,
246
- b,c=this.clipHeight||this.legendHeight,e=this.titleHeight;a&&(b=a.translateY,this.allItems.forEach(function(d){var n=d.checkbox,g;n&&(g=b+e+n.y+(this.scrollOffset||0)+3,y(n,{left:a.translateX+d.checkboxOffset+n.x-20+"px",top:g+"px",display:this.proximate||g>b-6&&g<b+c-6?"":"none"}))},this))},renderTitle:function(){var a=this.options,b=this.padding,c=a.title,e=0;c.text&&(this.title||(this.title=this.chart.renderer.label(c.text,b-3,b-4,null,null,null,a.useHTML,null,"legend-title").attr({zIndex:1}),
247
- this.chart.styledMode||this.title.css(c.style),this.title.add(this.group)),c.width||this.title.css({width:this.maxLegendWidth+"px"}),a=this.title.getBBox(),e=a.height,this.offsetWidth=a.width,this.contentGroup.attr({translateY:e}));this.titleHeight=e},setText:function(d){var b=this.options;d.legendItem.attr({text:b.labelFormat?a.format(b.labelFormat,d,this.chart.time):b.labelFormatter.call(d)})},renderItem:function(a){var b=this.chart,c=b.renderer,d=this.options,n=this.symbolWidth,g=d.symbolPadding,
248
- f=this.itemStyle,l=this.itemHiddenStyle,m="horizontal"===d.layout?v(d.itemDistance,20):0,p=!d.rtl,A=a.legendItem,D=!a.series,h=!D&&a.series.drawLegendSymbol?a.series:a,E=h.options,E=this.createCheckboxForItem&&E&&E.showCheckbox,m=n+g+m+(E?20:0),k=d.useHTML,q=a.options.className;A||(a.legendGroup=c.g("legend-item").addClass("highcharts-"+h.type+"-series highcharts-color-"+a.colorIndex+(q?" "+q:"")+(D?" highcharts-series-"+a.index:"")).attr({zIndex:1}).add(this.scrollGroup),a.legendItem=A=c.text("",
249
- p?n+g:-g,this.baseline||0,k),b.styledMode||A.css(x(a.visible?f:l)),A.attr({align:p?"left":"right",zIndex:2}).add(a.legendGroup),this.baseline||(this.fontMetrics=c.fontMetrics(b.styledMode?12:f.fontSize,A),this.baseline=this.fontMetrics.f+3+this.itemMarginTop,A.attr("y",this.baseline)),this.symbolHeight=d.symbolHeight||this.fontMetrics.f,h.drawLegendSymbol(this,a),this.setItemEvents&&this.setItemEvents(a,A,k));E&&!a.checkbox&&this.createCheckboxForItem(a);this.colorizeItem(a,a.visible);!b.styledMode&&
250
- f.width||A.css({width:(d.itemWidth||this.widthOption||b.spacingBox.width)-m});this.setText(a);b=A.getBBox();a.itemWidth=a.checkboxOffset=d.itemWidth||a.legendItemWidth||b.width+m;this.maxItemWidth=Math.max(this.maxItemWidth,a.itemWidth);this.totalItemWidth+=a.itemWidth;this.itemHeight=a.itemHeight=Math.round(a.legendItemHeight||b.height||this.symbolHeight)},layoutItem:function(a){var b=this.options,c=this.padding,d="horizontal"===b.layout,n=a.itemHeight,g=b.itemMarginBottom||0,f=this.itemMarginTop,
251
- l=d?v(b.itemDistance,20):0,m=this.maxLegendWidth,b=b.alignColumns&&this.totalItemWidth>m?this.maxItemWidth:a.itemWidth;d&&this.itemX-c+b>m&&(this.itemX=c,this.lastLineHeight&&(this.itemY+=f+this.lastLineHeight+g),this.lastLineHeight=0);this.lastItemY=f+this.itemY+g;this.lastLineHeight=Math.max(n,this.lastLineHeight);a._legendItemPos=[this.itemX,this.itemY];d?this.itemX+=b:(this.itemY+=f+n+g,this.lastLineHeight=n);this.offsetWidth=this.widthOption||Math.max((d?this.itemX-c-(a.checkbox?0:l):b)+c,this.offsetWidth)},
252
- getAllItems:function(){var a=[];this.chart.series.forEach(function(b){var c=b&&b.options;b&&v(c.showInLegend,r(c.linkedTo)?!1:void 0,!0)&&(a=a.concat(b.legendItems||("point"===c.legendType?b.data:b)))});h(this,"afterGetAllItems",{allItems:a});return a},getAlignment:function(){var a=this.options;return this.proximate?a.align.charAt(0)+"tv":a.floating?"":a.align.charAt(0)+a.verticalAlign.charAt(0)+a.layout.charAt(0)},adjustMargins:function(a,b){var c=this.chart,d=this.options,n=this.getAlignment(),
253
- g=void 0!==c.options.title.margin?c.titleOffset+c.options.title.margin:0;n&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/].forEach(function(e,f){e.test(n)&&!r(a[f])&&(c[t[f]]=Math.max(c[t[f]],c.legend[(f+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][f]*d[f%2?"x":"y"]+v(d.margin,12)+b[f]+(0===f&&(0===c.titleOffset?0:g))))})},proximatePositions:function(){var d=this.chart,b=[],c="left"===this.options.align;this.allItems.forEach(function(e){var n,g;g=c;var f;e.yAxis&&e.points&&(e.xAxis.options.reversed&&
254
- (g=!g),n=a.find(g?e.points:e.points.slice(0).reverse(),function(b){return a.isNumber(b.plotY)}),g=e.legendGroup.getBBox().height,f=e.yAxis.top-d.plotTop,e.visible?(n=n?n.plotY:e.yAxis.height,n+=f-.3*g):n=f+e.yAxis.height,b.push({target:n,size:g,item:e}))},this);a.distribute(b,d.plotHeight);b.forEach(function(a){a.item._legendItemPos[1]=d.plotTop-d.spacing[0]+a.pos})},render:function(){var d=this.chart,b=d.renderer,c=this.group,e,n,g,f=this.box,q=this.options,m=this.padding;this.itemX=m;this.itemY=
255
- this.initialItemY;this.lastItemY=this.offsetWidth=0;this.widthOption=a.relativeLength(q.width,d.spacingBox.width-m);e=d.spacingBox.width-2*m-q.x;-1<["rm","lm"].indexOf(this.getAlignment().substring(0,2))&&(e/=2);this.maxLegendWidth=this.widthOption||e;c||(this.group=c=b.g("legend").attr({zIndex:7}).add(),this.contentGroup=b.g().attr({zIndex:1}).add(c),this.scrollGroup=b.g().add(this.contentGroup));this.renderTitle();e=this.getAllItems();l(e,function(a,b){return(a.options&&a.options.legendIndex||0)-
256
- (b.options&&b.options.legendIndex||0)});q.reversed&&e.reverse();this.allItems=e;this.display=n=!!e.length;this.itemHeight=this.totalItemWidth=this.maxItemWidth=this.lastLineHeight=0;e.forEach(this.renderItem,this);e.forEach(this.layoutItem,this);e=(this.widthOption||this.offsetWidth)+m;g=this.lastItemY+this.lastLineHeight+this.titleHeight;g=this.handleOverflow(g);g+=m;f||(this.box=f=b.rect().addClass("highcharts-legend-box").attr({r:q.borderRadius}).add(c),f.isNew=!0);d.styledMode||f.attr({stroke:q.borderColor,
257
- "stroke-width":q.borderWidth||0,fill:q.backgroundColor||"none"}).shadow(q.shadow);0<e&&0<g&&(f[f.isNew?"attr":"animate"](f.crisp.call({},{x:0,y:0,width:e,height:g},f.strokeWidth())),f.isNew=!1);f[n?"show":"hide"]();d.styledMode&&"none"===c.getStyle("display")&&(e=g=0);this.legendWidth=e;this.legendHeight=g;n&&(b=d.spacingBox,/(lth|ct|rth)/.test(this.getAlignment())&&(f=b.y+d.titleOffset,b=x(b,{y:0<d.titleOffset?f+=d.options.title.margin:f})),c.align(x(q,{width:e,height:g,verticalAlign:this.proximate?
258
- "top":q.verticalAlign}),!0,b));this.proximate||this.positionItems();h(this,"afterRender")},handleOverflow:function(a){var b=this,c=this.chart,d=c.renderer,n=this.options,g=n.y,f=this.padding,g=c.spacingBox.height+("top"===n.verticalAlign?-g:g)-f,l=n.maxHeight,m,p=this.clipRect,A=n.navigation,D=v(A.animation,!0),h=A.arrowSize||12,E=this.nav,k=this.pages,q,r=this.allItems,t=function(a){"number"===typeof a?p.attr({height:a}):p&&(b.clipRect=p.destroy(),b.contentGroup.clip());b.contentGroup.div&&(b.contentGroup.div.style.clip=
259
- a?"rect("+f+"px,9999px,"+(f+a)+"px,0)":"auto")},L=function(a){b[a]=d.circle(0,0,1.3*h).translate(h/2,h/2).add(E);c.styledMode||b[a].attr("fill","rgba(0,0,0,0.0001)");return b[a]};"horizontal"!==n.layout||"middle"===n.verticalAlign||n.floating||(g/=2);l&&(g=Math.min(g,l));k.length=0;a>g&&!1!==A.enabled?(this.clipHeight=m=Math.max(g-20-this.titleHeight-f,0),this.currentPage=v(this.currentPage,1),this.fullHeight=a,r.forEach(function(a,b){var c=a._legendItemPos[1],d=Math.round(a.legendItem.getBBox().height),
260
- p=k.length;if(!p||c-k[p-1]>m&&(q||c)!==k[p-1])k.push(q||c),p++;a.pageIx=p-1;q&&(r[b-1].pageIx=p-1);b===r.length-1&&c+d-k[p-1]>m&&c!==q&&(k.push(c),a.pageIx=p);c!==q&&(q=c)}),p||(p=b.clipRect=d.clipRect(0,f,9999,0),b.contentGroup.clip(p)),t(m),E||(this.nav=E=d.g().attr({zIndex:1}).add(this.group),this.up=d.symbol("triangle",0,0,h,h).add(E),L("upTracker").on("click",function(){b.scroll(-1,D)}),this.pager=d.text("",15,10).addClass("highcharts-legend-navigation"),c.styledMode||this.pager.css(A.style),
261
- this.pager.add(E),this.down=d.symbol("triangle-down",0,0,h,h).add(E),L("downTracker").on("click",function(){b.scroll(1,D)})),b.scroll(0),a=g):E&&(t(),this.nav=E.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0);return a},scroll:function(a,b){var c=this.pages,d=c.length,n=this.currentPage+a;a=this.clipHeight;var g=this.options.navigation,f=this.pager,l=this.padding;n>d&&(n=d);0<n&&(void 0!==b&&q(b,this.chart),this.nav.attr({translateX:l,translateY:a+this.padding+7+this.titleHeight,
262
- visibility:"visible"}),[this.up,this.upTracker].forEach(function(a){a.attr({"class":1===n?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})}),f.attr({text:n+"/"+d}),[this.down,this.downTracker].forEach(function(a){a.attr({x:18+this.pager.getBBox().width,"class":n===d?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})},this),this.chart.styledMode||(this.up.attr({fill:1===n?g.inactiveColor:g.activeColor}),this.upTracker.css({cursor:1===n?"default":"pointer"}),this.down.attr({fill:n===
263
- d?g.inactiveColor:g.activeColor}),this.downTracker.css({cursor:n===d?"default":"pointer"})),this.scrollOffset=-c[n-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),this.currentPage=n,this.positionCheckboxes())}};a.LegendSymbolMixin={drawRectangle:function(a,b){var c=a.symbolHeight,d=a.options.squareSymbol;b.legendSymbol=this.chart.renderer.rect(d?(a.symbolWidth-c)/2:0,a.baseline-c+1,d?c:a.symbolWidth,c,v(a.options.symbolRadius,c/2)).addClass("highcharts-point").attr({zIndex:3}).add(b.legendGroup)},
264
- drawLineMarker:function(a){var b=this.options,c=b.marker,d=a.symbolWidth,n=a.symbolHeight,g=n/2,f=this.chart.renderer,l=this.legendGroup;a=a.baseline-Math.round(.3*a.fontMetrics.b);var m={};this.chart.styledMode||(m={"stroke-width":b.lineWidth||0},b.dashStyle&&(m.dashstyle=b.dashStyle));this.legendLine=f.path(["M",0,a,"L",d,a]).addClass("highcharts-graph").attr(m).add(l);c&&!1!==c.enabled&&d&&(b=Math.min(v(c.radius,g),g),0===this.symbol.indexOf("url")&&(c=x(c,{width:n,height:n}),b=0),this.legendSymbol=
265
- c=f.symbol(this.symbol,d/2-b,a-b,2*b,2*b,c).addClass("highcharts-point").add(l),c.isMarker=!0)}};(/Trident\/7\.0/.test(g.navigator&&g.navigator.userAgent)||u)&&f(a.Legend.prototype,"positionItem",function(a,b){var c=this,d=function(){b._legendItemPos&&a.call(c,b)};d();c.bubbleLegend||setTimeout(d)})});J(G,"parts/Chart.js",[G["parts/Globals.js"]],function(a){var B=a.addEvent,y=a.animate,C=a.animObject,r=a.attr,h=a.doc,u=a.Axis,t=a.createElement,x=a.defaultOptions,v=a.discardElement,q=a.charts,l=a.css,
266
- g=a.defined,f=a.extend,d=a.find,b=a.fireEvent,c=a.isNumber,e=a.isObject,n=a.isString,w=a.Legend,z=a.marginNames,F=a.merge,m=a.objectEach,p=a.Pointer,A=a.pick,D=a.pInt,H=a.removeEvent,E=a.seriesTypes,k=a.splat,I=a.syncTimeout,O=a.win,Q=a.Chart=function(){this.getArgs.apply(this,arguments)};a.chart=function(a,b,c){return new Q(a,b,c)};f(Q.prototype,{callbacks:[],getArgs:function(){var a=[].slice.call(arguments);if(n(a[0])||a[0].nodeName)this.renderTo=a.shift();this.init(a[0],a[1])},init:function(c,
267
- d){var k,p=c.series,n=c.plotOptions||{};b(this,"init",{args:arguments},function(){c.series=null;k=F(x,c);m(k.plotOptions,function(a,b){e(a)&&(a.tooltip=n[b]&&F(n[b].tooltip)||void 0)});k.tooltip.userOptions=c.chart&&c.chart.forExport&&c.tooltip.userOptions||c.tooltip;k.series=c.series=p;this.userOptions=c;var g=k.chart,f=g.events;this.margin=[];this.spacing=[];this.bounds={h:{},v:{}};this.labelCollectors=[];this.callback=d;this.isResizing=0;this.options=k;this.axes=[];this.series=[];this.time=c.time&&
268
- Object.keys(c.time).length?new a.Time(c.time):a.time;this.styledMode=g.styledMode;this.hasCartesianSeries=g.showAxes;var A=this;A.index=q.length;q.push(A);a.chartCount++;f&&m(f,function(a,b){B(A,b,a)});A.xAxis=[];A.yAxis=[];A.pointCount=A.colorCounter=A.symbolCounter=0;b(A,"afterInit");A.firstRender()})},initSeries:function(b){var c=this.options.chart;(c=E[b.type||c.type||c.defaultSeriesType])||a.error(17,!0,this);c=new c;c.init(this,b);return c},orderSeries:function(a){var b=this.series;for(a=a||
269
- 0;a<b.length;a++)b[a]&&(b[a].index=a,b[a].name=b[a].getName())},isInsidePlot:function(a,b,c){var d=c?b:a;a=c?a:b;return 0<=d&&d<=this.plotWidth&&0<=a&&a<=this.plotHeight},redraw:function(c){b(this,"beforeRedraw");var d=this.axes,k=this.series,p=this.pointer,e=this.legend,m=this.userOptions.legend,n=this.isDirtyLegend,g,A,l=this.hasCartesianSeries,D=this.isDirtyBox,w,h=this.renderer,E=h.isHidden(),q=[];this.setResponsive&&this.setResponsive(!1);a.setAnimation(c,this);E&&this.temporaryDisplay();this.layOutTitles();
270
- for(c=k.length;c--;)if(w=k[c],w.options.stacking&&(g=!0,w.isDirty)){A=!0;break}if(A)for(c=k.length;c--;)w=k[c],w.options.stacking&&(w.isDirty=!0);k.forEach(function(a){a.isDirty&&("point"===a.options.legendType?(a.updateTotals&&a.updateTotals(),n=!0):m&&(m.labelFormatter||m.labelFormat)&&(n=!0));a.isDirtyData&&b(a,"updatedData")});n&&e&&e.options.enabled&&(e.render(),this.isDirtyLegend=!1);g&&this.getStacks();l&&d.forEach(function(a){a.updateNames();a.setScale()});this.getMargins();l&&(d.forEach(function(a){a.isDirty&&
271
- (D=!0)}),d.forEach(function(a){var c=a.min+","+a.max;a.extKey!==c&&(a.extKey=c,q.push(function(){b(a,"afterSetExtremes",f(a.eventArgs,a.getExtremes()));delete a.eventArgs}));(D||g)&&a.redraw()}));D&&this.drawChartBox();b(this,"predraw");k.forEach(function(a){(D||a.isDirty)&&a.visible&&a.redraw();a.isDirtyData=!1});p&&p.reset(!0);h.draw();b(this,"redraw");b(this,"render");E&&this.temporaryDisplay(!0);q.forEach(function(a){a.call()})},get:function(a){function b(b){return b.id===a||b.options&&b.options.id===
272
- a}var c,k=this.series,p;c=d(this.axes,b)||d(this.series,b);for(p=0;!c&&p<k.length;p++)c=d(k[p].points||[],b);return c},getAxes:function(){var a=this,c=this.options,d=c.xAxis=k(c.xAxis||{}),c=c.yAxis=k(c.yAxis||{});b(this,"getAxes");d.forEach(function(a,b){a.index=b;a.isX=!0});c.forEach(function(a,b){a.index=b});d.concat(c).forEach(function(b){new u(a,b)});b(this,"afterGetAxes")},getSelectedPoints:function(){var a=[];this.series.forEach(function(b){a=a.concat((b[b.hasGroupedData?"points":"data"]||
273
- []).filter(function(a){return a.selected}))});return a},getSelectedSeries:function(){return this.series.filter(function(a){return a.selected})},setTitle:function(a,b,c){var d=this,k=d.options,p=d.styledMode,e;e=k.title=F(!p&&{style:{color:"#333333",fontSize:k.isStock?"16px":"18px"}},k.title,a);k=k.subtitle=F(!p&&{style:{color:"#666666"}},k.subtitle,b);[["title",a,e],["subtitle",b,k]].forEach(function(a,b){var c=a[0],k=d[c],e=a[1];a=a[2];k&&e&&(d[c]=k=k.destroy());a&&!k&&(d[c]=d.renderer.text(a.text,
274
- 0,0,a.useHTML).attr({align:a.align,"class":"highcharts-"+c,zIndex:a.zIndex||4}).add(),d[c].update=function(a){d.setTitle(!b&&a,b&&a)},p||d[c].css(a.style))});d.layOutTitles(c)},layOutTitles:function(a){var b=0,c,d=this.renderer,k=this.spacingBox;["title","subtitle"].forEach(function(a){var c=this[a],p=this.options[a];a="title"===a?-3:p.verticalAlign?0:b+2;var e;c&&(this.styledMode||(e=p.style.fontSize),e=d.fontMetrics(e,c).b,c.css({width:(p.width||k.width+p.widthAdjust)+"px"}).align(f({y:a+e},p),
275
- !1,"spacingBox"),p.floating||p.verticalAlign||(b=Math.ceil(b+c.getBBox(p.useHTML).height)))},this);c=this.titleOffset!==b;this.titleOffset=b;!this.isDirtyBox&&c&&(this.isDirtyBox=this.isDirtyLegend=c,this.hasRendered&&A(a,!0)&&this.isDirtyBox&&this.redraw())},getChartSize:function(){var b=this.options.chart,c=b.width,b=b.height,d=this.renderTo;g(c)||(this.containerWidth=a.getStyle(d,"width"));g(b)||(this.containerHeight=a.getStyle(d,"height"));this.chartWidth=Math.max(0,c||this.containerWidth||600);
276
- this.chartHeight=Math.max(0,a.relativeLength(b,this.chartWidth)||(1<this.containerHeight?this.containerHeight:400))},temporaryDisplay:function(b){var c=this.renderTo;if(b)for(;c&&c.style;)c.hcOrigStyle&&(a.css(c,c.hcOrigStyle),delete c.hcOrigStyle),c.hcOrigDetached&&(h.body.removeChild(c),c.hcOrigDetached=!1),c=c.parentNode;else for(;c&&c.style;){h.body.contains(c)||c.parentNode||(c.hcOrigDetached=!0,h.body.appendChild(c));if("none"===a.getStyle(c,"display",!1)||c.hcOricDetached)c.hcOrigStyle={display:c.style.display,
277
- height:c.style.height,overflow:c.style.overflow},b={display:"block",overflow:"hidden"},c!==this.renderTo&&(b.height=0),a.css(c,b),c.offsetWidth||c.style.setProperty("display","block","important");c=c.parentNode;if(c===h.body)break}},setClassName:function(a){this.container.className="highcharts-container "+(a||"")},getContainer:function(){var d,k=this.options,p=k.chart,e,m;d=this.renderTo;var g=a.uniqueKey(),A,w;d||(this.renderTo=d=p.renderTo);n(d)&&(this.renderTo=d=h.getElementById(d));d||a.error(13,
278
- !0,this);e=D(r(d,"data-highcharts-chart"));c(e)&&q[e]&&q[e].hasRendered&&q[e].destroy();r(d,"data-highcharts-chart",this.index);d.innerHTML="";p.skipClone||d.offsetWidth||this.temporaryDisplay();this.getChartSize();e=this.chartWidth;m=this.chartHeight;l(d,{overflow:"hidden"});this.styledMode||(A=f({position:"relative",overflow:"hidden",width:e+"px",height:m+"px",textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)"},p.style));this.container=d=t("div",{id:g},A,
279
- d);this._cursor=d.style.cursor;this.renderer=new (a[p.renderer]||a.Renderer)(d,e,m,null,p.forExport,k.exporting&&k.exporting.allowHTML,this.styledMode);this.setClassName(p.className);if(this.styledMode)for(w in k.defs)this.renderer.definition(k.defs[w]);else this.renderer.setStyle(p.style);this.renderer.chartIndex=this.index;b(this,"afterGetContainer")},getMargins:function(a){var c=this.spacing,d=this.margin,k=this.titleOffset;this.resetMargins();k&&!g(d[0])&&(this.plotTop=Math.max(this.plotTop,k+
280
- this.options.title.margin+c[0]));this.legend&&this.legend.display&&this.legend.adjustMargins(d,c);b(this,"getMargins");a||this.getAxisMargins()},getAxisMargins:function(){var a=this,b=a.axisOffset=[0,0,0,0],c=a.margin;a.hasCartesianSeries&&a.axes.forEach(function(a){a.visible&&a.getOffset()});z.forEach(function(d,k){g(c[k])||(a[d]+=b[k])});a.setChartSize()},reflow:function(b){var c=this,d=c.options.chart,k=c.renderTo,p=g(d.width)&&g(d.height),e=d.width||a.getStyle(k,"width"),d=d.height||a.getStyle(k,
281
- "height"),k=b?b.target:O;if(!p&&!c.isPrinting&&e&&d&&(k===O||k===h)){if(e!==c.containerWidth||d!==c.containerHeight)a.clearTimeout(c.reflowTimeout),c.reflowTimeout=I(function(){c.container&&c.setSize(void 0,void 0,!1)},b?100:0);c.containerWidth=e;c.containerHeight=d}},setReflow:function(a){var b=this;!1===a||this.unbindReflow?!1===a&&this.unbindReflow&&(this.unbindReflow=this.unbindReflow()):(this.unbindReflow=B(O,"resize",function(a){b.reflow(a)}),B(this,"destroy",this.unbindReflow))},setSize:function(c,
282
- d,k){var p=this,e=p.renderer,m;p.isResizing+=1;a.setAnimation(k,p);p.oldChartHeight=p.chartHeight;p.oldChartWidth=p.chartWidth;void 0!==c&&(p.options.chart.width=c);void 0!==d&&(p.options.chart.height=d);p.getChartSize();p.styledMode||(m=e.globalAnimation,(m?y:l)(p.container,{width:p.chartWidth+"px",height:p.chartHeight+"px"},m));p.setChartSize(!0);e.setSize(p.chartWidth,p.chartHeight,k);p.axes.forEach(function(a){a.isDirty=!0;a.setScale()});p.isDirtyLegend=!0;p.isDirtyBox=!0;p.layOutTitles();p.getMargins();
283
- p.redraw(k);p.oldChartHeight=null;b(p,"resize");I(function(){p&&b(p,"endResize",null,function(){--p.isResizing})},C(m).duration)},setChartSize:function(a){var c=this.inverted,d=this.renderer,p=this.chartWidth,k=this.chartHeight,e=this.options.chart,m=this.spacing,n=this.clipOffset,g,f,A,l;this.plotLeft=g=Math.round(this.plotLeft);this.plotTop=f=Math.round(this.plotTop);this.plotWidth=A=Math.max(0,Math.round(p-g-this.marginRight));this.plotHeight=l=Math.max(0,Math.round(k-f-this.marginBottom));this.plotSizeX=
284
- c?l:A;this.plotSizeY=c?A:l;this.plotBorderWidth=e.plotBorderWidth||0;this.spacingBox=d.spacingBox={x:m[3],y:m[0],width:p-m[3]-m[1],height:k-m[0]-m[2]};this.plotBox=d.plotBox={x:g,y:f,width:A,height:l};p=2*Math.floor(this.plotBorderWidth/2);c=Math.ceil(Math.max(p,n[3])/2);d=Math.ceil(Math.max(p,n[0])/2);this.clipBox={x:c,y:d,width:Math.floor(this.plotSizeX-Math.max(p,n[1])/2-c),height:Math.max(0,Math.floor(this.plotSizeY-Math.max(p,n[2])/2-d))};a||this.axes.forEach(function(a){a.setAxisSize();a.setAxisTranslation()});
285
- b(this,"afterSetChartSize",{skipAxes:a})},resetMargins:function(){b(this,"resetMargins");var a=this,c=a.options.chart;["margin","spacing"].forEach(function(b){var d=c[b],p=e(d)?d:[d,d,d,d];["Top","Right","Bottom","Left"].forEach(function(d,k){a[b][k]=A(c[b+d],p[k])})});z.forEach(function(b,c){a[b]=A(a.margin[c],a.spacing[c])});a.axisOffset=[0,0,0,0];a.clipOffset=[0,0,0,0]},drawChartBox:function(){var a=this.options.chart,c=this.renderer,d=this.chartWidth,p=this.chartHeight,k=this.chartBackground,
286
- e=this.plotBackground,m=this.plotBorder,n,g=this.styledMode,f=this.plotBGImage,A=a.backgroundColor,l=a.plotBackgroundColor,D=a.plotBackgroundImage,w,h=this.plotLeft,E=this.plotTop,q=this.plotWidth,H=this.plotHeight,z=this.plotBox,r=this.clipRect,I=this.clipBox,F="animate";k||(this.chartBackground=k=c.rect().addClass("highcharts-background").add(),F="attr");if(g)n=w=k.strokeWidth();else{n=a.borderWidth||0;w=n+(a.shadow?8:0);A={fill:A||"none"};if(n||k["stroke-width"])A.stroke=a.borderColor,A["stroke-width"]=
287
- n;k.attr(A).shadow(a.shadow)}k[F]({x:w/2,y:w/2,width:d-w-n%2,height:p-w-n%2,r:a.borderRadius});F="animate";e||(F="attr",this.plotBackground=e=c.rect().addClass("highcharts-plot-background").add());e[F](z);g||(e.attr({fill:l||"none"}).shadow(a.plotShadow),D&&(f?f.animate(z):this.plotBGImage=c.image(D,h,E,q,H).add()));r?r.animate({width:I.width,height:I.height}):this.clipRect=c.clipRect(I);F="animate";m||(F="attr",this.plotBorder=m=c.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add());
288
- g||m.attr({stroke:a.plotBorderColor,"stroke-width":a.plotBorderWidth||0,fill:"none"});m[F](m.crisp({x:h,y:E,width:q,height:H},-m.strokeWidth()));this.isDirtyBox=!1;b(this,"afterDrawChartBox")},propFromSeries:function(){var a=this,b=a.options.chart,c,d=a.options.series,k,p;["inverted","angular","polar"].forEach(function(e){c=E[b.type||b.defaultSeriesType];p=b[e]||c&&c.prototype[e];for(k=d&&d.length;!p&&k--;)(c=E[d[k].type])&&c.prototype[e]&&(p=!0);a[e]=p})},linkSeries:function(){var a=this,c=a.series;
289
- c.forEach(function(a){a.linkedSeries.length=0});c.forEach(function(b){var c=b.options.linkedTo;n(c)&&(c=":previous"===c?a.series[b.index-1]:a.get(c))&&c.linkedParent!==b&&(c.linkedSeries.push(b),b.linkedParent=c,b.visible=A(b.options.visible,c.options.visible,b.visible))});b(this,"afterLinkSeries")},renderSeries:function(){this.series.forEach(function(a){a.translate();a.render()})},renderLabels:function(){var a=this,b=a.options.labels;b.items&&b.items.forEach(function(c){var d=f(b.style,c.style),
290
- p=D(d.left)+a.plotLeft,k=D(d.top)+a.plotTop+12;delete d.left;delete d.top;a.renderer.text(c.html,p,k).attr({zIndex:2}).css(d).add()})},render:function(){var a=this.axes,b=this.renderer,c=this.options,d=0,p,k,e;this.setTitle();this.legend=new w(this,c.legend);this.getStacks&&this.getStacks();this.getMargins(!0);this.setChartSize();c=this.plotWidth;a.some(function(a){if(a.horiz&&a.visible&&a.options.labels.enabled&&a.series.length)return d=21,!0});p=this.plotHeight=Math.max(this.plotHeight-d,0);a.forEach(function(a){a.setScale()});
291
- this.getAxisMargins();k=1.1<c/this.plotWidth;e=1.05<p/this.plotHeight;if(k||e)a.forEach(function(a){(a.horiz&&k||!a.horiz&&e)&&a.setTickInterval(!0)}),this.getMargins();this.drawChartBox();this.hasCartesianSeries&&a.forEach(function(a){a.visible&&a.render()});this.seriesGroup||(this.seriesGroup=b.g("series-group").attr({zIndex:3}).add());this.renderSeries();this.renderLabels();this.addCredits();this.setResponsive&&this.setResponsive();this.hasRendered=!0},addCredits:function(a){var b=this;a=F(!0,
292
- this.options.credits,a);a.enabled&&!this.credits&&(this.credits=this.renderer.text(a.text+(this.mapCredits||""),0,0).addClass("highcharts-credits").on("click",function(){a.href&&(O.location.href=a.href)}).attr({align:a.position.align,zIndex:8}),b.styledMode||this.credits.css(a.style),this.credits.add().align(a.position),this.credits.update=function(a){b.credits=b.credits.destroy();b.addCredits(a)})},destroy:function(){var c=this,d=c.axes,k=c.series,p=c.container,e,n=p&&p.parentNode;b(c,"destroy");
293
- c.renderer.forExport?a.erase(q,c):q[c.index]=void 0;a.chartCount--;c.renderTo.removeAttribute("data-highcharts-chart");H(c);for(e=d.length;e--;)d[e]=d[e].destroy();this.scroller&&this.scroller.destroy&&this.scroller.destroy();for(e=k.length;e--;)k[e]=k[e].destroy();"title subtitle chartBackground plotBackground plotBGImage plotBorder seriesGroup clipRect credits pointer rangeSelector legend resetZoomButton tooltip renderer".split(" ").forEach(function(a){var b=c[a];b&&b.destroy&&(c[a]=b.destroy())});
294
- p&&(p.innerHTML="",H(p),n&&v(p));m(c,function(a,b){delete c[b]})},firstRender:function(){var c=this,d=c.options;if(!c.isReadyToRender||c.isReadyToRender()){c.getContainer();c.resetMargins();c.setChartSize();c.propFromSeries();c.getAxes();(a.isArray(d.series)?d.series:[]).forEach(function(a){c.initSeries(a)});c.linkSeries();b(c,"beforeRender");p&&(c.pointer=new p(c,d));c.render();if(!c.renderer.imgCount&&c.onload)c.onload();c.temporaryDisplay(!0)}},onload:function(){[this.callback].concat(this.callbacks).forEach(function(a){a&&
295
- void 0!==this.index&&a.apply(this,[this])},this);b(this,"load");b(this,"render");g(this.index)&&this.setReflow(this.options.chart.reflow);this.onload=null}})});J(G,"parts/ScrollablePlotArea.js",[G["parts/Globals.js"]],function(a){var B=a.addEvent,y=a.Chart;B(y,"afterSetChartSize",function(y){var r=this.options.chart.scrollablePlotArea;(r=r&&r.minWidth)&&!this.renderer.forExport&&(this.scrollablePixels=r=Math.max(0,r-this.chartWidth))&&(this.plotWidth+=r,this.clipBox.width+=r,y.skipAxes||this.axes.forEach(function(h){1===
296
- h.side?h.getPlotLinePath=function(){var r=this.right,t;this.right=r-h.chart.scrollablePixels;t=a.Axis.prototype.getPlotLinePath.apply(this,arguments);this.right=r;return t}:(h.setAxisSize(),h.setAxisTranslation())}))});B(y,"render",function(){this.scrollablePixels?(this.setUpScrolling&&this.setUpScrolling(),this.applyFixed()):this.fixedDiv&&this.applyFixed()});y.prototype.setUpScrolling=function(){this.scrollingContainer=a.createElement("div",{className:"highcharts-scrolling"},{overflowX:"auto",WebkitOverflowScrolling:"touch"},
297
- this.renderTo);this.innerContainer=a.createElement("div",{className:"highcharts-inner-container"},null,this.scrollingContainer);this.innerContainer.appendChild(this.container);this.setUpScrolling=null};y.prototype.moveFixedElements=function(){var a=this.container,r=this.fixedRenderer;[this.inverted?".highcharts-xaxis":".highcharts-yaxis",this.inverted?".highcharts-xaxis-labels":".highcharts-yaxis-labels",".highcharts-contextbutton",".highcharts-credits",".highcharts-legend",".highcharts-reset-zoom",
298
- ".highcharts-subtitle",".highcharts-title",".highcharts-legend-checkbox"].forEach(function(h){[].forEach.call(a.querySelectorAll(h),function(a){(a.namespaceURI===r.SVG_NS?r.box:r.box.parentNode).appendChild(a);a.style.pointerEvents="auto"})})};y.prototype.applyFixed=function(){var y,r=!this.fixedDiv,h=this.options.chart.scrollablePlotArea;r&&(this.fixedDiv=a.createElement("div",{className:"highcharts-fixed"},{position:"absolute",overflow:"hidden",pointerEvents:"none",zIndex:2},null,!0),this.renderTo.insertBefore(this.fixedDiv,
299
- this.renderTo.firstChild),this.renderTo.style.overflow="visible",this.fixedRenderer=y=new a.Renderer(this.fixedDiv,0,0),this.scrollableMask=y.path().attr({fill:a.color(this.options.chart.backgroundColor||"#fff").setOpacity(a.pick(h.opacity,.85)).get(),zIndex:-1}).addClass("highcharts-scrollable-mask").add(),this.moveFixedElements(),B(this,"afterShowResetZoom",this.moveFixedElements));this.fixedRenderer.setSize(this.chartWidth,this.chartHeight);y=this.chartWidth+this.scrollablePixels;a.stop(this.container);
300
- this.container.style.width=y+"px";this.renderer.boxWrapper.attr({width:y,height:this.chartHeight,viewBox:[0,0,y,this.chartHeight].join(" ")});this.chartBackground.attr({width:y});r&&h.scrollPositionX&&(this.scrollingContainer.scrollLeft=this.scrollablePixels*h.scrollPositionX);h=this.axisOffset;r=this.plotTop-h[0]-1;h=this.plotTop+this.plotHeight+h[2];y=this.plotLeft+this.plotWidth-this.scrollablePixels;this.scrollableMask.attr({d:this.scrollablePixels?["M",0,r,"L",this.plotLeft-1,r,"L",this.plotLeft-
301
- 1,h,"L",0,h,"Z","M",y,r,"L",this.chartWidth,r,"L",this.chartWidth,h,"L",y,h,"Z"]:["M",0,0]})}});J(G,"parts/Point.js",[G["parts/Globals.js"]],function(a){var B,y=a.extend,C=a.erase,r=a.fireEvent,h=a.format,u=a.isArray,t=a.isNumber,x=a.pick,v=a.uniqueKey,q=a.defined,l=a.removeEvent;a.Point=B=function(){};a.Point.prototype={init:function(a,f,d){this.series=a;this.applyOptions(f,d);this.id=q(this.id)?this.id:v();this.resolveColor();a.chart.pointCount++;r(this,"afterInit");return this},resolveColor:function(){var a=
302
- this.series,f;f=a.chart.options.chart.colorCount;var d=a.chart.styledMode;d||this.options.color||(this.color=a.color);a.options.colorByPoint?(d||(f=a.options.colors||a.chart.options.colors,this.color=this.color||f[a.colorCounter],f=f.length),d=a.colorCounter,a.colorCounter++,a.colorCounter===f&&(a.colorCounter=0)):d=a.colorIndex;this.colorIndex=x(this.colorIndex,d)},applyOptions:function(a,f){var d=this.series,b=d.options.pointValKey||d.pointValKey;a=B.prototype.optionsToObject.call(this,a);y(this,
303
- a);this.options=this.options?y(this.options,a):a;a.group&&delete this.group;a.dataLabels&&delete this.dataLabels;b&&(this.y=this[b]);if(this.isNull=x(this.isValid&&!this.isValid(),null===this.x||!t(this.y,!0)))this.formatPrefix="null";this.selected&&(this.state="select");"name"in this&&void 0===f&&d.xAxis&&d.xAxis.hasNames&&(this.x=d.xAxis.nameToX(this));void 0===this.x&&d&&(this.x=void 0===f?d.autoIncrement(this):f);return this},setNestedProperty:function(g,f,d){d.split(".").reduce(function(b,c,
304
- d,n){b[c]=n.length-1===d?f:a.isObject(b[c],!0)?b[c]:{};return b[c]},g);return g},optionsToObject:function(g){var f={},d=this.series,b=d.options.keys,c=b||d.pointArrayMap||["y"],e=c.length,n=0,l=0;if(t(g)||null===g)f[c[0]]=g;else if(u(g))for(!b&&g.length>e&&(d=typeof g[0],"string"===d?f.name=g[0]:"number"===d&&(f.x=g[0]),n++);l<e;)b&&void 0===g[n]||(0<c[l].indexOf(".")?a.Point.prototype.setNestedProperty(f,g[n],c[l]):f[c[l]]=g[n]),n++,l++;else"object"===typeof g&&(f=g,g.dataLabels&&(d._hasPointLabels=
305
- !0),g.marker&&(d._hasPointMarkers=!0));return f},getClassName:function(){return"highcharts-point"+(this.selected?" highcharts-point-select":"")+(this.negative?" highcharts-negative":"")+(this.isNull?" highcharts-null-point":"")+(void 0!==this.colorIndex?" highcharts-color-"+this.colorIndex:"")+(this.options.className?" "+this.options.className:"")+(this.zone&&this.zone.className?" "+this.zone.className.replace("highcharts-negative",""):"")},getZone:function(){var a=this.series,f=a.zones,a=a.zoneAxis||
306
- "y",d=0,b;for(b=f[d];this[a]>=b.value;)b=f[++d];this.nonZonedColor||(this.nonZonedColor=this.color);this.color=b&&b.color&&!this.options.color?b.color:this.nonZonedColor;return b},destroy:function(){var a=this.series.chart,f=a.hoverPoints,d;a.pointCount--;f&&(this.setState(),C(f,this),f.length||(a.hoverPoints=null));if(this===a.hoverPoint)this.onMouseOut();if(this.graphic||this.dataLabel||this.dataLabels)l(this),this.destroyElements();this.legendItem&&a.legend.destroyItem(this);for(d in this)this[d]=
307
- null},destroyElements:function(a){var f=this,d=[],b,c;a=a||{graphic:1,dataLabel:1};a.graphic&&d.push("graphic","shadowGroup");a.dataLabel&&d.push("dataLabel","dataLabelUpper","connector");for(c=d.length;c--;)b=d[c],f[b]&&(f[b]=f[b].destroy());["dataLabel","connector"].forEach(function(b){var c=b+"s";a[b]&&f[c]&&(f[c].forEach(function(a){a.element&&a.destroy()}),delete f[c])})},getLabelConfig:function(){return{x:this.category,y:this.y,color:this.color,colorIndex:this.colorIndex,key:this.name||this.category,
308
- series:this.series,point:this,percentage:this.percentage,total:this.total||this.stackTotal}},tooltipFormatter:function(a){var f=this.series,d=f.tooltipOptions,b=x(d.valueDecimals,""),c=d.valuePrefix||"",e=d.valueSuffix||"";f.chart.styledMode&&(a=f.chart.tooltip.styledModeFormat(a));(f.pointArrayMap||["y"]).forEach(function(d){d="{point."+d;if(c||e)a=a.replace(RegExp(d+"}","g"),c+d+"}"+e);a=a.replace(RegExp(d+"}","g"),d+":,."+b+"f}")});return h(a,{point:this,series:this.series},f.chart.time)},firePointEvent:function(a,
309
- f,d){var b=this,c=this.series.options;(c.point.events[a]||b.options&&b.options.events&&b.options.events[a])&&this.importEvents();"click"===a&&c.allowPointSelect&&(d=function(a){b.select&&b.select(null,a.ctrlKey||a.metaKey||a.shiftKey)});r(this,a,f,d)},visible:!0}});J(G,"parts/Series.js",[G["parts/Globals.js"]],function(a){var B=a.addEvent,y=a.animObject,C=a.arrayMax,r=a.arrayMin,h=a.correctFloat,u=a.defaultOptions,t=a.defaultPlotOptions,x=a.defined,v=a.erase,q=a.extend,l=a.fireEvent,g=a.isArray,f=
310
- a.isNumber,d=a.isString,b=a.merge,c=a.objectEach,e=a.pick,n=a.removeEvent,w=a.splat,z=a.SVGElement,F=a.syncTimeout,m=a.win;a.Series=a.seriesType("line",null,{lineWidth:2,allowPointSelect:!1,showCheckbox:!1,animation:{duration:1E3},events:{},marker:{lineWidth:0,lineColor:"#ffffff",enabledThreshold:2,radius:4,states:{normal:{animation:!0},hover:{animation:{duration:50},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:"#cccccc",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:{align:"center",
311
- formatter:function(){return null===this.y?"":a.numberFormat(this.y,-1)},padding:5,style:{fontSize:"11px",fontWeight:"bold",color:"contrast",textOutline:"1px contrast"},verticalAlign:"bottom",x:0,y:0},cropThreshold:300,opacity:1,pointRange:0,softThreshold:!0,states:{normal:{animation:!0},hover:{animation:{duration:50},lineWidthPlus:1,marker:{},halo:{size:10,opacity:.25}},select:{animation:{duration:0}},inactive:{animation:{duration:50},opacity:.2}},stickyTracking:!0,turboThreshold:1E3,findNearestPointBy:"x"},
312
- {isCartesian:!0,pointClass:a.Point,sorted:!0,requireSorting:!0,directTouch:!1,axisTypes:["xAxis","yAxis"],colorCounter:0,parallelArrays:["x","y"],coll:"series",cropShoulder:1,init:function(a,b){l(this,"init",{options:b});var d=this,p,m=a.series,k;d.chart=a;d.options=b=d.setOptions(b);d.linkedSeries=[];d.bindAxes();q(d,{name:b.name,state:"",visible:!1!==b.visible,selected:!0===b.selected});p=b.events;c(p,function(a,b){d.hcEvents&&d.hcEvents[b]&&-1!==d.hcEvents[b].indexOf(a)||B(d,b,a)});if(p&&p.click||
313
- b.point&&b.point.events&&b.point.events.click||b.allowPointSelect)a.runTrackerClick=!0;d.getColor();d.getSymbol();d.parallelArrays.forEach(function(a){d[a+"Data"]||(d[a+"Data"]=[])});d.points||d.setData(b.data,!1);d.isCartesian&&(a.hasCartesianSeries=!0);m.length&&(k=m[m.length-1]);d._i=e(k&&k._i,-1)+1;a.orderSeries(this.insert(m));l(this,"afterInit")},insert:function(a){var b=this.options.index,c;if(f(b)){for(c=a.length;c--;)if(b>=e(a[c].options.index,a[c]._i)){a.splice(c+1,0,this);break}-1===c&&
314
- a.unshift(this);c+=1}else a.push(this);return e(c,a.length-1)},bindAxes:function(){var b=this,c=b.options,d=b.chart,e;l(this,"bindAxes",null,function(){(b.axisTypes||[]).forEach(function(p){d[p].forEach(function(a){e=a.options;if(c[p]===e.index||void 0!==c[p]&&c[p]===e.id||void 0===c[p]&&0===e.index)b.insert(a.series),b[p]=a,a.isDirty=!0});b[p]||b.optionalAxis===p||a.error(18,!0,d)})})},updateParallelArrays:function(a,b){var c=a.series,d=arguments,p=f(b)?function(d){var p="y"===d&&c.toYData?c.toYData(a):
315
- a[d];c[d+"Data"][b]=p}:function(a){Array.prototype[b].apply(c[a+"Data"],Array.prototype.slice.call(d,2))};c.parallelArrays.forEach(p)},hasData:function(){return this.visible&&void 0!==this.dataMax&&void 0!==this.dataMin||this.visible&&this.yData&&0<this.yData.length},autoIncrement:function(){var a=this.options,b=this.xIncrement,c,d=a.pointIntervalUnit,m=this.chart.time,b=e(b,a.pointStart,0);this.pointInterval=c=e(this.pointInterval,a.pointInterval,1);d&&(a=new m.Date(b),"day"===d?m.set("Date",a,m.get("Date",
316
- a)+c):"month"===d?m.set("Month",a,m.get("Month",a)+c):"year"===d&&m.set("FullYear",a,m.get("FullYear",a)+c),c=a.getTime()-b);this.xIncrement=b+c;return b},setOptions:function(a){var c=this.chart,d=c.options,p=d.plotOptions,m=(c.userOptions||{}).plotOptions||{},k=p[this.type],n=b(a);a=c.styledMode;l(this,"setOptions",{userOptions:n});this.userOptions=n;c=b(k,p.series,n);this.tooltipOptions=b(u.tooltip,u.plotOptions.series&&u.plotOptions.series.tooltip,u.plotOptions[this.type].tooltip,d.tooltip.userOptions,
317
- p.series&&p.series.tooltip,p[this.type].tooltip,n.tooltip);this.stickyTracking=e(n.stickyTracking,m[this.type]&&m[this.type].stickyTracking,m.series&&m.series.stickyTracking,this.tooltipOptions.shared&&!this.noSharedTooltip?!0:c.stickyTracking);null===k.marker&&delete c.marker;this.zoneAxis=c.zoneAxis;d=this.zones=(c.zones||[]).slice();!c.negativeColor&&!c.negativeFillColor||c.zones||(p={value:c[this.zoneAxis+"Threshold"]||c.threshold||0,className:"highcharts-negative"},a||(p.color=c.negativeColor,
318
- p.fillColor=c.negativeFillColor),d.push(p));d.length&&x(d[d.length-1].value)&&d.push(a?{}:{color:this.color,fillColor:this.fillColor});l(this,"afterSetOptions",{options:c});return c},getName:function(){return e(this.options.name,"Series "+(this.index+1))},getCyclic:function(a,b,c){var d,p=this.chart,k=this.userOptions,m=a+"Index",n=a+"Counter",f=c?c.length:e(p.options.chart[a+"Count"],p[a+"Count"]);b||(d=e(k[m],k["_"+m]),x(d)||(p.series.length||(p[n]=0),k["_"+m]=d=p[n]%f,p[n]+=1),c&&(b=c[d]));void 0!==
319
- d&&(this[m]=d);this[a]=b},getColor:function(){this.chart.styledMode?this.getCyclic("color"):this.options.colorByPoint?this.options.color=null:this.getCyclic("color",this.options.color||t[this.type].color,this.chart.options.colors)},getSymbol:function(){this.getCyclic("symbol",this.options.marker.symbol,this.chart.options.symbols)},findPointIndex:function(a,b){var c=a.id;a=a.x;var d=this.points,p,k;c&&(k=(c=this.chart.get(c))&&c.index,void 0!==k&&(p=!0));void 0===k&&f(a)&&(k=this.xData.indexOf(a,b));
320
- -1!==k&&void 0!==k&&this.cropped&&(k=k>=this.cropStart?k-this.cropStart:k);!p&&d[k]&&d[k].touched&&(k=void 0);return k},drawLegendSymbol:a.LegendSymbolMixin.drawLineMarker,updateData:function(b){var c=this.options,d=this.points,p=[],e,k,m,n=this.requireSorting,g=b.length===d.length,l=!0;this.xIncrement=null;b.forEach(function(b,k){var l,A=a.defined(b)&&this.pointClass.prototype.optionsToObject.call({series:this},b)||{};l=A.x;if(A.id||f(l))if(l=this.findPointIndex(A,m),-1===l||void 0===l?p.push(b):
321
- d[l]&&b!==c.data[l]?(d[l].update(b,!1,null,!1),d[l].touched=!0,n&&(m=l+1)):d[l]&&(d[l].touched=!0),!g||k!==l||this.hasDerivedData)e=!0},this);if(e)for(b=d.length;b--;)(k=d[b])&&!k.touched&&k.remove(!1);else g?b.forEach(function(a,b){d[b].update&&a!==d[b].y&&d[b].update(a,!1,null,!1)}):l=!1;d.forEach(function(a){a&&(a.touched=!1)});if(!l)return!1;p.forEach(function(a){this.addPoint(a,!1,null,null,!1)},this);return!0},setData:function(b,c,m,n){var p=this,k=p.points,l=k&&k.length||0,A,w=p.options,h=
322
- p.chart,q=null,D=p.xAxis,z=w.turboThreshold,H=this.xData,r=this.yData,F=(A=p.pointArrayMap)&&A.length,v=w.keys,t=0,u=1,x;b=b||[];A=b.length;c=e(c,!0);!1!==n&&A&&l&&!p.cropped&&!p.hasGroupedData&&p.visible&&!p.isSeriesBoosting&&(x=this.updateData(b));if(!x){p.xIncrement=null;p.colorCounter=0;this.parallelArrays.forEach(function(a){p[a+"Data"].length=0});if(z&&A>z){for(m=0;null===q&&m<A;)q=b[m],m++;if(f(q))for(m=0;m<A;m++)H[m]=this.autoIncrement(),r[m]=b[m];else if(g(q))if(F)for(m=0;m<A;m++)q=b[m],
323
- H[m]=q[0],r[m]=q.slice(1,F+1);else for(v&&(t=v.indexOf("x"),u=v.indexOf("y"),t=0<=t?t:0,u=0<=u?u:1),m=0;m<A;m++)q=b[m],H[m]=q[t],r[m]=q[u];else a.error(12,!1,h)}else for(m=0;m<A;m++)void 0!==b[m]&&(q={series:p},p.pointClass.prototype.applyOptions.apply(q,[b[m]]),p.updateParallelArrays(q,m));r&&d(r[0])&&a.error(14,!0,h);p.data=[];p.options.data=p.userOptions.data=b;for(m=l;m--;)k[m]&&k[m].destroy&&k[m].destroy();D&&(D.minRange=D.userMinRange);p.isDirty=h.isDirtyBox=!0;p.isDirtyData=!!k;m=!1}"point"===
324
- w.legendType&&(this.processData(),this.generatePoints());c&&h.redraw(m)},processData:function(b){var c=this.xData,d=this.yData,p=c.length,e;e=0;var k,m,n=this.xAxis,f,g=this.options;f=g.cropThreshold;var l=this.getExtremesFromAll||g.getExtremesFromAll,w=this.isCartesian,g=n&&n.val2lin,h=n&&n.isLog,q=this.requireSorting,z,r;if(w&&!this.isDirty&&!n.isDirty&&!this.yAxis.isDirty&&!b)return!1;n&&(b=n.getExtremes(),z=b.min,r=b.max);w&&this.sorted&&!l&&(!f||p>f||this.forceCrop)&&(c[p-1]<z||c[0]>r?(c=[],
325
- d=[]):this.yData&&(c[0]<z||c[p-1]>r)&&(e=this.cropData(this.xData,this.yData,z,r),c=e.xData,d=e.yData,e=e.start,k=!0));for(f=c.length||1;--f;)p=h?g(c[f])-g(c[f-1]):c[f]-c[f-1],0<p&&(void 0===m||p<m)?m=p:0>p&&q&&(a.error(15,!1,this.chart),q=!1);this.cropped=k;this.cropStart=e;this.processedXData=c;this.processedYData=d;this.closestPointRange=m},cropData:function(a,b,c,d,m){var k=a.length,p=0,n=k,f;m=e(m,this.cropShoulder);for(f=0;f<k;f++)if(a[f]>=c){p=Math.max(0,f-m);break}for(c=f;c<k;c++)if(a[c]>
326
- d){n=c+m;break}return{xData:a.slice(p,n),yData:b.slice(p,n),start:p,end:n}},generatePoints:function(){var a=this.options,b=a.data,c=this.data,d,e=this.processedXData,k=this.processedYData,m=this.pointClass,n=e.length,f=this.cropStart||0,g,h=this.hasGroupedData,a=a.keys,z,r=[],F;c||h||(c=[],c.length=b.length,c=this.data=c);a&&h&&(this.options.keys=!1);for(F=0;F<n;F++)g=f+F,h?(z=(new m).init(this,[e[F]].concat(w(k[F]))),z.dataGroup=this.groupMap[F],z.dataGroup.options&&(z.options=z.dataGroup.options,
327
- q(z,z.dataGroup.options),delete z.dataLabels)):(z=c[g])||void 0===b[g]||(c[g]=z=(new m).init(this,b[g],e[F])),z&&(z.index=g,r[F]=z);this.options.keys=a;if(c&&(n!==(d=c.length)||h))for(F=0;F<d;F++)F!==f||h||(F+=n),c[F]&&(c[F].destroyElements(),c[F].plotX=void 0);this.data=c;this.points=r;l(this,"afterGeneratePoints")},getXExtremes:function(a){return{min:r(a),max:C(a)}},getExtremes:function(a){var b=this.yAxis,c=this.processedXData,d,p=[],k=0;d=this.xAxis.getExtremes();var e=d.min,m=d.max,n,w,h=this.requireSorting?
328
- this.cropShoulder:0,q,z;a=a||this.stackedYData||this.processedYData||[];d=a.length;for(z=0;z<d;z++)if(w=c[z],q=a[z],n=(f(q,!0)||g(q))&&(!b.positiveValuesOnly||q.length||0<q),w=this.getExtremesFromAll||this.options.getExtremesFromAll||this.cropped||(c[z+h]||w)>=e&&(c[z-h]||w)<=m,n&&w)if(n=q.length)for(;n--;)"number"===typeof q[n]&&(p[k++]=q[n]);else p[k++]=q;this.dataMin=r(p);this.dataMax=C(p);l(this,"afterGetExtremes")},translate:function(){this.processedXData||this.processData();this.generatePoints();
329
- var a=this.options,b=a.stacking,c=this.xAxis,d=c.categories,m=this.yAxis,k=this.points,n=k.length,w=!!this.modifyValue,q,z=this.pointPlacementToXValue(),r=f(z),F=a.threshold,v=a.startFromThreshold?F:0,t,u,y,B,C=this.zoneAxis||"y",G=Number.MAX_VALUE;for(q=0;q<n;q++){var J=k[q],U=J.x;u=J.y;var S=J.low,W=b&&m.stacks[(this.negStacks&&u<(v?0:F)?"-":"")+this.stackKey],X,V;m.positiveValuesOnly&&null!==u&&0>=u&&(J.isNull=!0);J.plotX=t=h(Math.min(Math.max(-1E5,c.translate(U,0,0,0,1,z,"flags"===this.type)),
330
- 1E5));b&&this.visible&&!J.isNull&&W&&W[U]&&(B=this.getStackIndicator(B,U,this.index),X=W[U],V=X.points[B.key]);g(V)&&(S=V[0],u=V[1],S===v&&B.key===W[U].base&&(S=e(f(F)&&F,m.min)),m.positiveValuesOnly&&0>=S&&(S=null),J.total=J.stackTotal=X.total,J.percentage=X.total&&J.y/X.total*100,J.stackY=u,X.setOffset(this.pointXOffset||0,this.barW||0));J.yBottom=x(S)?Math.min(Math.max(-1E5,m.translate(S,0,1,0,1)),1E5):null;w&&(u=this.modifyValue(u,J));J.plotY=u="number"===typeof u&&Infinity!==u?Math.min(Math.max(-1E5,
331
- m.translate(u,0,1,0,1)),1E5):void 0;J.isInside=void 0!==u&&0<=u&&u<=m.len&&0<=t&&t<=c.len;J.clientX=r?h(c.translate(U,0,0,0,1,z)):t;J.negative=J[C]<(a[C+"Threshold"]||F||0);J.category=d&&void 0!==d[J.x]?d[J.x]:J.x;J.isNull||(void 0!==y&&(G=Math.min(G,Math.abs(t-y))),y=t);J.zone=this.zones.length&&J.getZone()}this.closestPointRangePx=G;l(this,"afterTranslate")},getValidPoints:function(a,b,c){var d=this.chart;return(a||this.points||[]).filter(function(a){return b&&!d.isInsidePlot(a.plotX,a.plotY,d.inverted)?
332
- !1:c||!a.isNull})},setClip:function(a){var b=this.chart,c=this.options,d=b.renderer,p=b.inverted,k=this.clipBox,e=k||b.clipBox,m=this.sharedClipKey||["_sharedClip",a&&a.duration,a&&a.easing,e.height,c.xAxis,c.yAxis].join(),n=b[m],f=b[m+"m"];n||(a&&(e.width=0,p&&(e.x=b.plotSizeX),b[m+"m"]=f=d.clipRect(p?b.plotSizeX+99:-99,p?-b.plotLeft:-b.plotTop,99,p?b.chartWidth:b.chartHeight)),b[m]=n=d.clipRect(e),n.count={length:0});a&&!n.count[this.index]&&(n.count[this.index]=!0,n.count.length+=1);!1!==c.clip&&
333
- (this.group.clip(a||k?n:b.clipRect),this.markerGroup.clip(f),this.sharedClipKey=m);a||(n.count[this.index]&&(delete n.count[this.index],--n.count.length),0===n.count.length&&m&&b[m]&&(k||(b[m]=b[m].destroy()),b[m+"m"]&&(b[m+"m"]=b[m+"m"].destroy())))},animate:function(a){var b=this.chart,c=y(this.options.animation),d;a?this.setClip(c):(d=this.sharedClipKey,(a=b[d])&&a.animate({width:b.plotSizeX,x:0},c),b[d+"m"]&&b[d+"m"].animate({width:b.plotSizeX+99,x:b.inverted?0:-99},c),this.animate=null)},afterAnimate:function(){this.setClip();
334
- l(this,"afterAnimate");this.finishedAnimating=!0},drawPoints:function(){var a=this.points,b=this.chart,c,d,m,k,n,f=this.options.marker,g,l,w,h=this[this.specialGroup]||this.markerGroup;c=this.xAxis;var q,z=e(f.enabled,!c||c.isRadial?!0:null,this.closestPointRangePx>=f.enabledThreshold*f.radius);if(!1!==f.enabled||this._hasPointMarkers)for(c=0;c<a.length;c++)if(d=a[c],n=(k=d.graphic)?"animate":"attr",g=d.marker||{},l=!!d.marker,m=z&&void 0===g.enabled||g.enabled,w=!1!==d.isInside,m&&!d.isNull){m=e(g.symbol,
335
- this.symbol);q=this.markerAttribs(d,d.selected&&"select");k?k[w?"show":"hide"](!0).animate(q):w&&(0<q.width||d.hasImage)&&(d.graphic=k=b.renderer.symbol(m,q.x,q.y,q.width,q.height,l?g:f).add(h));if(k&&!b.styledMode)k[n](this.pointAttribs(d,d.selected&&"select"));k&&k.addClass(d.getClassName(),!0)}else k&&(d.graphic=k.destroy())},markerAttribs:function(a,b){var c=this.options.marker,d=a.marker||{},p=d.symbol||c.symbol,k=e(d.radius,c.radius);b&&(c=c.states[b],b=d.states&&d.states[b],k=e(b&&b.radius,
336
- c&&c.radius,k+(c&&c.radiusPlus||0)));a.hasImage=p&&0===p.indexOf("url");a.hasImage&&(k=0);a={x:Math.floor(a.plotX)-k,y:a.plotY-k};k&&(a.width=a.height=2*k);return a},pointAttribs:function(a,b){var c=this.options.marker,d=a&&a.options,p=d&&d.marker||{},k=this.color,m=d&&d.color,n=a&&a.color,d=e(p.lineWidth,c.lineWidth),f=a&&a.zone&&a.zone.color;a=1;k=m||f||n||k;m=p.fillColor||c.fillColor||k;k=p.lineColor||c.lineColor||k;b&&(c=c.states[b],b=p.states&&p.states[b]||{},d=e(b.lineWidth,c.lineWidth,d+e(b.lineWidthPlus,
337
- c.lineWidthPlus,0)),m=b.fillColor||c.fillColor||m,k=b.lineColor||c.lineColor||k,a=e(b.opacity,c.opacity,a));return{stroke:k,"stroke-width":d,fill:m,opacity:a}},destroy:function(b){var d=this,p=d.chart,e=/AppleWebKit\/533/.test(m.navigator.userAgent),f,k,g=d.data||[],w,h;l(d,"destroy");b||n(d);(d.axisTypes||[]).forEach(function(a){(h=d[a])&&h.series&&(v(h.series,d),h.isDirty=h.forceRedraw=!0)});d.legendItem&&d.chart.legend.destroyItem(d);for(k=g.length;k--;)(w=g[k])&&w.destroy&&w.destroy();d.points=
338
- null;a.clearTimeout(d.animationTimeout);c(d,function(a,b){a instanceof z&&!a.survive&&(f=e&&"group"===b?"hide":"destroy",a[f]())});p.hoverSeries===d&&(p.hoverSeries=null);v(p.series,d);p.orderSeries();c(d,function(a,c){b&&"hcEvents"===c||delete d[c]})},getGraphPath:function(a,b,c){var d=this,p=d.options,k=p.step,e,m=[],n=[],f;a=a||d.points;(e=a.reversed)&&a.reverse();(k={right:1,center:2}[k]||k&&3)&&e&&(k=4-k);!p.connectNulls||b||c||(a=this.getValidPoints(a));a.forEach(function(e,g){var l=e.plotX,
339
- w=e.plotY,h=a[g-1];(e.leftCliff||h&&h.rightCliff)&&!c&&(f=!0);e.isNull&&!x(b)&&0<g?f=!p.connectNulls:e.isNull&&!b?f=!0:(0===g||f?g=["M",e.plotX,e.plotY]:d.getPointSpline?g=d.getPointSpline(a,e,g):k?(g=1===k?["L",h.plotX,w]:2===k?["L",(h.plotX+l)/2,h.plotY,"L",(h.plotX+l)/2,w]:["L",l,h.plotY],g.push("L",l,w)):g=["L",l,w],n.push(e.x),k&&(n.push(e.x),2===k&&n.push(e.x)),m.push.apply(m,g),f=!1)});m.xMap=n;return d.graphPath=m},drawGraph:function(){var a=this,b=this.options,c=(this.gappedPath||this.getGraphPath).call(this),
340
- d=this.chart.styledMode,e=[["graph","highcharts-graph"]];d||e[0].push(b.lineColor||this.color||"#cccccc",b.dashStyle);e=a.getZonesGraphs(e);e.forEach(function(k,e){var p=k[0],m=a[p],n=m?"animate":"attr";m?(m.endX=a.preventGraphAnimation?null:c.xMap,m.animate({d:c})):c.length&&(a[p]=m=a.chart.renderer.path(c).addClass(k[1]).attr({zIndex:1}).add(a.group));m&&!d&&(p={stroke:k[2],"stroke-width":b.lineWidth,fill:a.fillGraph&&a.color||"none"},k[3]?p.dashstyle=k[3]:"square"!==b.linecap&&(p["stroke-linecap"]=
341
- p["stroke-linejoin"]="round"),m[n](p).shadow(2>e&&b.shadow));m&&(m.startX=c.xMap,m.isArea=c.isArea)})},getZonesGraphs:function(a){this.zones.forEach(function(b,c){c=["zone-graph-"+c,"highcharts-graph highcharts-zone-graph-"+c+" "+(b.className||"")];this.chart.styledMode||c.push(b.color||this.color,b.dashStyle||this.options.dashStyle);a.push(c)},this);return a},applyZones:function(){var a=this,b=this.chart,c=b.renderer,d=this.zones,m,k,n=this.clips||[],f,g=this.graph,l=this.area,w=Math.max(b.chartWidth,
342
- b.chartHeight),h=this[(this.zoneAxis||"y")+"Axis"],q,z,F=b.inverted,r,v,t,u,x=!1;d.length&&(g||l)&&h&&void 0!==h.min&&(z=h.reversed,r=h.horiz,g&&!this.showLine&&g.hide(),l&&l.hide(),q=h.getExtremes(),d.forEach(function(d,p){m=z?r?b.plotWidth:0:r?0:h.toPixels(q.min)||0;m=Math.min(Math.max(e(k,m),0),w);k=Math.min(Math.max(Math.round(h.toPixels(e(d.value,q.max),!0)||0),0),w);x&&(m=k=h.toPixels(q.max));v=Math.abs(m-k);t=Math.min(m,k);u=Math.max(m,k);h.isXAxis?(f={x:F?u:t,y:0,width:v,height:w},r||(f.x=
343
- b.plotHeight-f.x)):(f={x:0,y:F?u:t,width:w,height:v},r&&(f.y=b.plotWidth-f.y));F&&c.isVML&&(f=h.isXAxis?{x:0,y:z?t:u,height:f.width,width:b.chartWidth}:{x:f.y-b.plotLeft-b.spacingBox.x,y:0,width:f.height,height:b.chartHeight});n[p]?n[p].animate(f):(n[p]=c.clipRect(f),g&&a["zone-graph-"+p].clip(n[p]),l&&a["zone-area-"+p].clip(n[p]));x=d.value>q.max;a.resetZones&&0===k&&(k=void 0)}),this.clips=n)},invertGroups:function(a){function b(){["group","markerGroup"].forEach(function(b){c[b]&&(d.renderer.isVML&&
344
- c[b].attr({width:c.yAxis.len,height:c.xAxis.len}),c[b].width=c.yAxis.len,c[b].height=c.xAxis.len,c[b].invert(a))})}var c=this,d=c.chart,e;c.xAxis&&(e=B(d,"resize",b),B(c,"destroy",e),b(a),c.invertGroups=b)},plotGroup:function(a,b,c,d,e){var k=this[a],p=!k;p&&(this[a]=k=this.chart.renderer.g().attr({zIndex:d||.1}).add(e));k.addClass("highcharts-"+b+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(x(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||
345
- "")+(k.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0);k.attr({visibility:c})[p?"attr":"animate"](this.getPlotBox());return k},getPlotBox:function(){var a=this.chart,b=this.xAxis,c=this.yAxis;a.inverted&&(b=c,c=this.xAxis);return{translateX:b?b.left:a.plotLeft,translateY:c?c.top:a.plotTop,scaleX:1,scaleY:1}},render:function(){var a=this,b=a.chart,c,d=a.options,e=!!a.animate&&b.renderer.isSVG&&y(d.animation).duration,k=a.visible?"inherit":"hidden",m=d.zIndex,n=a.hasRendered,f=b.seriesGroup,
346
- g=b.inverted;l(this,"render");c=a.plotGroup("group","series",k,m,f);a.markerGroup=a.plotGroup("markerGroup","markers",k,m,f);e&&a.animate(!0);c.inverted=a.isCartesian||a.invertable?g:!1;a.drawGraph&&(a.drawGraph(),a.applyZones());a.visible&&a.drawPoints();a.drawDataLabels&&a.drawDataLabels();a.redrawPoints&&a.redrawPoints();a.drawTracker&&!1!==a.options.enableMouseTracking&&a.drawTracker();a.invertGroups(g);!1===d.clip||a.sharedClipKey||n||c.clip(b.clipRect);e&&a.animate();n||(a.animationTimeout=
347
- F(function(){a.afterAnimate()},e));a.isDirty=!1;a.hasRendered=!0;l(a,"afterRender")},redraw:function(){var a=this.chart,b=this.isDirty||this.isDirtyData,c=this.group,d=this.xAxis,m=this.yAxis;c&&(a.inverted&&c.attr({width:a.plotWidth,height:a.plotHeight}),c.animate({translateX:e(d&&d.left,a.plotLeft),translateY:e(m&&m.top,a.plotTop)}));this.translate();this.render();b&&delete this.kdTree},kdAxisArray:["clientX","plotY"],searchPoint:function(a,b){var c=this.xAxis,d=this.yAxis,e=this.chart.inverted;
348
- return this.searchKDTree({clientX:e?c.len-a.chartY+c.pos:a.chartX-c.pos,plotY:e?d.len-a.chartX+d.pos:a.chartY-d.pos},b,a)},buildKDTree:function(a){function b(a,d,e){var k,m;if(m=a&&a.length)return k=c.kdAxisArray[d%e],a.sort(function(a,b){return a[k]-b[k]}),m=Math.floor(m/2),{point:a[m],left:b(a.slice(0,m),d+1,e),right:b(a.slice(m+1),d+1,e)}}this.buildingKdTree=!0;var c=this,d=-1<c.options.findNearestPointBy.indexOf("y")?2:1;delete c.kdTree;F(function(){c.kdTree=b(c.getValidPoints(null,!c.directTouch),
349
- d,d);c.buildingKdTree=!1},c.options.kdNow||a&&"touchstart"===a.type?0:1)},searchKDTree:function(a,b,c){function d(a,b,c,n){var f=b.point,g=e.kdAxisArray[c%n],l,w,h=f;w=x(a[k])&&x(f[k])?Math.pow(a[k]-f[k],2):null;l=x(a[m])&&x(f[m])?Math.pow(a[m]-f[m],2):null;l=(w||0)+(l||0);f.dist=x(l)?Math.sqrt(l):Number.MAX_VALUE;f.distX=x(w)?Math.sqrt(w):Number.MAX_VALUE;g=a[g]-f[g];l=0>g?"left":"right";w=0>g?"right":"left";b[l]&&(l=d(a,b[l],c+1,n),h=l[p]<h[p]?l:f);b[w]&&Math.sqrt(g*g)<h[p]&&(a=d(a,b[w],c+1,n),
350
- h=a[p]<h[p]?a:h);return h}var e=this,k=this.kdAxisArray[0],m=this.kdAxisArray[1],p=b?"distX":"dist";b=-1<e.options.findNearestPointBy.indexOf("y")?2:1;this.kdTree||this.buildingKdTree||this.buildKDTree(c);if(this.kdTree)return d(a,this.kdTree,b,b)},pointPlacementToXValue:function(){var a=this.options.pointPlacement;"between"===a&&(a=.5);f(a)&&(a*=e(this.options.pointRange||this.xAxis.pointRange));return a}})});J(G,"parts/Stacking.js",[G["parts/Globals.js"]],function(a){var B=a.Axis,y=a.Chart,C=a.correctFloat,
351
- r=a.defined,h=a.destroyObjectProperties,u=a.format,t=a.objectEach,x=a.pick,v=a.Series;a.StackItem=function(a,l,g,f,d){var b=a.chart.inverted;this.axis=a;this.isNegative=g;this.options=l;this.x=f;this.total=null;this.points={};this.stack=d;this.rightCliff=this.leftCliff=0;this.alignOptions={align:l.align||(b?g?"left":"right":"center"),verticalAlign:l.verticalAlign||(b?"middle":g?"bottom":"top"),y:x(l.y,b?4:g?14:-6),x:x(l.x,b?g?-6:6:0)};this.textAlign=l.textAlign||(b?g?"right":"left":"center")};a.StackItem.prototype=
352
- {destroy:function(){h(this,this.axis)},render:function(a){var l=this.axis.chart,g=this.options,f=g.format,f=f?u(f,this,l.time):g.formatter.call(this);this.label?this.label.attr({text:f,visibility:"hidden"}):this.label=l.renderer.text(f,null,null,g.useHTML).css(g.style).attr({align:this.textAlign,rotation:g.rotation,visibility:"hidden"}).add(a);this.label.labelrank=l.plotHeight},setOffset:function(a,l){var g=this.axis,f=g.chart,d=g.translate(g.usePercentage?100:this.total,0,0,0,1),b=g.translate(0),
353
- b=r(d)&&Math.abs(d-b);a=f.xAxis[0].translate(this.x)+a;g=r(d)&&this.getStackBox(f,this,a,d,l,b,g);(l=this.label)&&g&&(l.align(this.alignOptions,null,g),g=l.alignAttr,l[!1===this.options.crop||f.isInsidePlot(g.x,g.y)?"show":"hide"](!0))},getStackBox:function(a,l,g,f,d,b,c){var e=l.axis.reversed,n=a.inverted;a=c.height+c.pos-(n?a.plotLeft:a.plotTop);l=l.isNegative&&!e||!l.isNegative&&e;return{x:n?l?f:f-b:g,y:n?a-g-d:l?a-f-b:a-f,width:n?b:d,height:n?d:b}}};y.prototype.getStacks=function(){var a=this;
354
- a.yAxis.forEach(function(a){a.stacks&&a.hasVisibleSeries&&(a.oldStacks=a.stacks)});a.series.forEach(function(l){!l.options.stacking||!0!==l.visible&&!1!==a.options.chart.ignoreHiddenSeries||(l.stackKey=l.type+x(l.options.stack,""))})};B.prototype.buildStacks=function(){var a=this.series,l=x(this.options.reversedStacks,!0),g=a.length,f;if(!this.isXAxis){this.usePercentage=!1;for(f=g;f--;)a[l?f:g-f-1].setStackedPoints();for(f=0;f<g;f++)a[f].modifyStacks()}};B.prototype.renderStackTotals=function(){var a=
355
- this.chart,l=a.renderer,g=this.stacks,f=this.stackTotalGroup;f||(this.stackTotalGroup=f=l.g("stack-labels").attr({visibility:"visible",zIndex:6}).add());f.translate(a.plotLeft,a.plotTop);t(g,function(a){t(a,function(a){a.render(f)})})};B.prototype.resetStacks=function(){var a=this,l=a.stacks;a.isXAxis||t(l,function(g){t(g,function(f,d){f.touched<a.stacksTouched?(f.destroy(),delete g[d]):(f.total=null,f.cumulative=null)})})};B.prototype.cleanStacks=function(){var a;this.isXAxis||(this.oldStacks&&(a=
356
- this.stacks=this.oldStacks),t(a,function(a){t(a,function(a){a.cumulative=a.total})}))};v.prototype.setStackedPoints=function(){if(this.options.stacking&&(!0===this.visible||!1===this.chart.options.chart.ignoreHiddenSeries)){var h=this.processedXData,l=this.processedYData,g=[],f=l.length,d=this.options,b=d.threshold,c=x(d.startFromThreshold&&b,0),e=d.stack,d=d.stacking,n=this.stackKey,w="-"+n,z=this.negStacks,F=this.yAxis,m=F.stacks,p=F.oldStacks,A,D,H,E,k,v,t;F.stacksTouched+=1;for(k=0;k<f;k++)v=
357
- h[k],t=l[k],A=this.getStackIndicator(A,v,this.index),E=A.key,H=(D=z&&t<(c?0:b))?w:n,m[H]||(m[H]={}),m[H][v]||(p[H]&&p[H][v]?(m[H][v]=p[H][v],m[H][v].total=null):m[H][v]=new a.StackItem(F,F.options.stackLabels,D,v,e)),H=m[H][v],null!==t?(H.points[E]=H.points[this.index]=[x(H.cumulative,c)],r(H.cumulative)||(H.base=E),H.touched=F.stacksTouched,0<A.index&&!1===this.singleStacks&&(H.points[E][0]=H.points[this.index+","+v+",0"][0])):H.points[E]=H.points[this.index]=null,"percent"===d?(D=D?n:w,z&&m[D]&&
358
- m[D][v]?(D=m[D][v],H.total=D.total=Math.max(D.total,H.total)+Math.abs(t)||0):H.total=C(H.total+(Math.abs(t)||0))):H.total=C(H.total+(t||0)),H.cumulative=x(H.cumulative,c)+(t||0),null!==t&&(H.points[E].push(H.cumulative),g[k]=H.cumulative);"percent"===d&&(F.usePercentage=!0);this.stackedYData=g;F.oldStacks={}}};v.prototype.modifyStacks=function(){var a=this,l=a.stackKey,g=a.yAxis.stacks,f=a.processedXData,d,b=a.options.stacking;a[b+"Stacker"]&&[l,"-"+l].forEach(function(c){for(var e=f.length,n,l;e--;)if(n=
359
- f[e],d=a.getStackIndicator(d,n,a.index,c),l=(n=g[c]&&g[c][n])&&n.points[d.key])a[b+"Stacker"](l,n,e)})};v.prototype.percentStacker=function(a,l,g){l=l.total?100/l.total:0;a[0]=C(a[0]*l);a[1]=C(a[1]*l);this.stackedYData[g]=a[1]};v.prototype.getStackIndicator=function(a,l,g,f){!r(a)||a.x!==l||f&&a.key!==f?a={x:l,index:0,key:f}:a.index++;a.key=[g,l,a.index].join();return a}});J(G,"parts/Dynamics.js",[G["parts/Globals.js"]],function(a){var B=a.addEvent,y=a.animate,C=a.Axis,r=a.Chart,h=a.createElement,
360
- u=a.css,t=a.defined,x=a.erase,v=a.extend,q=a.fireEvent,l=a.isNumber,g=a.isObject,f=a.isArray,d=a.merge,b=a.objectEach,c=a.pick,e=a.Point,n=a.Series,w=a.seriesTypes,z=a.setAnimation,F=a.splat;a.cleanRecursively=function(c,d){var e={};b(c,function(b,m){if(g(c[m],!0)&&d[m])b=a.cleanRecursively(c[m],d[m]),Object.keys(b).length&&(e[m]=b);else if(g(c[m])||c[m]!==d[m])e[m]=c[m]});return e};v(r.prototype,{addSeries:function(a,b,d){var e,m=this;a&&(b=c(b,!0),q(m,"addSeries",{options:a},function(){e=m.initSeries(a);
361
- m.isDirtyLegend=!0;m.linkSeries();q(m,"afterAddSeries",{series:e});b&&m.redraw(d)}));return e},addAxis:function(a,b,e,n){var m=b?"xAxis":"yAxis",p=this.options;a=d(a,{index:this[m].length,isX:b});b=new C(this,a);p[m]=F(p[m]||{});p[m].push(a);c(e,!0)&&this.redraw(n);return b},showLoading:function(a){var b=this,c=b.options,d=b.loadingDiv,e=c.loading,m=function(){d&&u(d,{left:b.plotLeft+"px",top:b.plotTop+"px",width:b.plotWidth+"px",height:b.plotHeight+"px"})};d||(b.loadingDiv=d=h("div",{className:"highcharts-loading highcharts-loading-hidden"},
362
- null,b.container),b.loadingSpan=h("span",{className:"highcharts-loading-inner"},null,d),B(b,"redraw",m));d.className="highcharts-loading";b.loadingSpan.innerHTML=a||c.lang.loading;b.styledMode||(u(d,v(e.style,{zIndex:10})),u(b.loadingSpan,e.labelStyle),b.loadingShown||(u(d,{opacity:0,display:""}),y(d,{opacity:e.style.opacity||.5},{duration:e.showDuration||0})));b.loadingShown=!0;m()},hideLoading:function(){var a=this.options,b=this.loadingDiv;b&&(b.className="highcharts-loading highcharts-loading-hidden",
363
- this.styledMode||y(b,{opacity:0},{duration:a.loading.hideDuration||100,complete:function(){u(b,{display:"none"})}}));this.loadingShown=!1},propsRequireDirtyBox:"backgroundColor borderColor borderWidth borderRadius plotBackgroundColor plotBackgroundImage plotBorderColor plotBorderWidth plotShadow shadow".split(" "),propsRequireReflow:"margin marginTop marginRight marginBottom marginLeft spacing spacingTop spacingRight spacingBottom spacingLeft".split(" "),propsRequireUpdateSeries:"chart.inverted chart.polar chart.ignoreHiddenSeries chart.type colors plotOptions time tooltip".split(" "),
364
- collectionsWithUpdate:"xAxis yAxis zAxis series colorAxis pane".split(" "),update:function(e,p,n,f){var m=this,g={credits:"addCredits",title:"setTitle",subtitle:"setSubtitle"},k,w,h,z,A=[];q(m,"update",{options:e});e.isResponsiveOptions||m.setResponsive(!1,!0);e=a.cleanRecursively(e,m.options);if(k=e.chart){d(!0,m.options.chart,k);"className"in k&&m.setClassName(k.className);"reflow"in k&&m.setReflow(k.reflow);if("inverted"in k||"polar"in k||"type"in k)m.propFromSeries(),w=!0;"alignTicks"in k&&(w=
365
- !0);b(k,function(a,b){-1!==m.propsRequireUpdateSeries.indexOf("chart."+b)&&(h=!0);-1!==m.propsRequireDirtyBox.indexOf(b)&&(m.isDirtyBox=!0);-1!==m.propsRequireReflow.indexOf(b)&&(z=!0)});!m.styledMode&&"style"in k&&m.renderer.setStyle(k.style)}!m.styledMode&&e.colors&&(this.options.colors=e.colors);e.plotOptions&&d(!0,this.options.plotOptions,e.plotOptions);b(e,function(a,b){if(m[b]&&"function"===typeof m[b].update)m[b].update(a,!1);else if("function"===typeof m[g[b]])m[g[b]](a);"chart"!==b&&-1!==
366
- m.propsRequireUpdateSeries.indexOf(b)&&(h=!0)});this.collectionsWithUpdate.forEach(function(a){var b;e[a]&&("series"===a&&(b=[],m[a].forEach(function(a,d){a.options.isInternal||b.push(c(a.options.index,d))})),F(e[a]).forEach(function(c,d){(d=t(c.id)&&m.get(c.id)||m[a][b?b[d]:d])&&d.coll===a&&(d.update(c,!1),n&&(d.touched=!0));if(!d&&n)if("series"===a)m.addSeries(c,!1).touched=!0;else if("xAxis"===a||"yAxis"===a)m.addAxis(c,"xAxis"===a,!1).touched=!0}),n&&m[a].forEach(function(a){a.touched||a.options.isInternal?
367
- delete a.touched:A.push(a)}))});A.forEach(function(a){a.remove&&a.remove(!1)});w&&m.axes.forEach(function(a){a.update({},!1)});h&&m.series.forEach(function(a){a.update({},!1)});e.loading&&d(!0,m.options.loading,e.loading);w=k&&k.width;k=k&&k.height;a.isString(k)&&(k=a.relativeLength(k,w||m.chartWidth));z||l(w)&&w!==m.chartWidth||l(k)&&k!==m.chartHeight?m.setSize(w,k,f):c(p,!0)&&m.redraw(f);q(m,"afterUpdate",{options:e,redraw:p,animation:f})},setSubtitle:function(a){this.setTitle(void 0,a)}});v(e.prototype,
368
- {update:function(a,b,d,e){function m(){p.applyOptions(a);null===p.y&&n&&(p.graphic=n.destroy());g(a,!0)&&(n&&n.element&&a&&a.marker&&void 0!==a.marker.symbol&&(p.graphic=n.destroy()),a&&a.dataLabels&&p.dataLabel&&(p.dataLabel=p.dataLabel.destroy()),p.connector&&(p.connector=p.connector.destroy()));f=p.index;k.updateParallelArrays(p,f);w.data[f]=g(w.data[f],!0)||g(a,!0)?p.options:c(a,w.data[f]);k.isDirty=k.isDirtyData=!0;!k.fixedBox&&k.hasCartesianSeries&&(l.isDirtyBox=!0);"point"===w.legendType&&
369
- (l.isDirtyLegend=!0);b&&l.redraw(d)}var p=this,k=p.series,n=p.graphic,f,l=k.chart,w=k.options;b=c(b,!0);!1===e?m():p.firePointEvent("update",{options:a},m)},remove:function(a,b){this.series.removePoint(this.series.data.indexOf(this),a,b)}});v(n.prototype,{addPoint:function(a,b,d,e,n){var m=this.options,k=this.data,p=this.chart,f=this.xAxis,f=f&&f.hasNames&&f.names,g=m.data,l,w,h=this.xData,z,A;b=c(b,!0);l={series:this};this.pointClass.prototype.applyOptions.apply(l,[a]);A=l.x;z=h.length;if(this.requireSorting&&
370
- A<h[z-1])for(w=!0;z&&h[z-1]>A;)z--;this.updateParallelArrays(l,"splice",z,0,0);this.updateParallelArrays(l,z);f&&l.name&&(f[A]=l.name);g.splice(z,0,a);w&&(this.data.splice(z,0,null),this.processData());"point"===m.legendType&&this.generatePoints();d&&(k[0]&&k[0].remove?k[0].remove(!1):(k.shift(),this.updateParallelArrays(l,"shift"),g.shift()));!1!==n&&q(this,"addPoint",{point:l});this.isDirtyData=this.isDirty=!0;b&&p.redraw(e)},removePoint:function(a,b,d){var e=this,m=e.data,p=m[a],k=e.points,n=e.chart,
371
- f=function(){k&&k.length===m.length&&k.splice(a,1);m.splice(a,1);e.options.data.splice(a,1);e.updateParallelArrays(p||{series:e},"splice",a,1);p&&p.destroy();e.isDirty=!0;e.isDirtyData=!0;b&&n.redraw()};z(d,n);b=c(b,!0);p?p.firePointEvent("remove",null,f):f()},remove:function(a,b,d,e){function m(){p.destroy(e);p.remove=null;k.isDirtyLegend=k.isDirtyBox=!0;k.linkSeries();c(a,!0)&&k.redraw(b)}var p=this,k=p.chart;!1!==d?q(p,"remove",null,m):m()},update:function(b,e){b=a.cleanRecursively(b,this.userOptions);
372
- q(this,"update",{options:b});var m=this,p=m.chart,n=m.userOptions,f,k=m.initialType||m.type,g=b.type||n.type||p.options.chart.type,l=!(this.hasDerivedData||b.dataGrouping||g&&g!==this.type||void 0!==b.pointStart||b.pointInterval||b.pointIntervalUnit||b.keys),h=w[k].prototype,z,r=["group","markerGroup","dataLabelsGroup"],F=["navigatorSeries","baseSeries"],t=m.finishedAnimating&&{animation:!1},u={};l&&(F.push("data","isDirtyData","points","processedXData","processedYData","xIncrement"),!1!==b.visible&&
373
- F.push("area","graph"),m.parallelArrays.forEach(function(a){F.push(a+"Data")}),b.data&&this.setData(b.data,!1));b=d(n,t,{index:void 0===n.index?m.index:n.index,pointStart:c(n.pointStart,m.xData[0])},!l&&{data:m.options.data},b);F=r.concat(F);F.forEach(function(a){F[a]=m[a];delete m[a]});m.remove(!1,null,!1,!0);for(z in h)m[z]=void 0;w[g||k]?v(m,w[g||k].prototype):a.error(17,!0,p);F.forEach(function(a){m[a]=F[a]});m.init(p,b);l&&this.points&&(f=m.options,!1===f.visible?(u.graphic=1,u.dataLabel=1):
374
- (f.marker&&!1===f.marker.enabled&&(u.graphic=1),f.dataLabels&&!1===f.dataLabels.enabled&&(u.dataLabel=1)),this.points.forEach(function(a){a&&a.series&&(a.resolveColor(),Object.keys(u).length&&a.destroyElements(u),!1===f.showInLegend&&a.legendItem&&p.legend.destroyItem(a))},this));b.zIndex!==n.zIndex&&r.forEach(function(a){m[a]&&m[a].attr({zIndex:b.zIndex})});m.initialType=k;p.linkSeries();q(this,"afterUpdate");c(e,!0)&&p.redraw(l?void 0:!1)},setName:function(a){this.name=this.options.name=this.userOptions.name=
375
- a;this.chart.isDirtyLegend=!0}});v(C.prototype,{update:function(a,e){var m=this.chart,p=a&&a.events||{};a=d(this.userOptions,a);m.options[this.coll].indexOf&&(m.options[this.coll][m.options[this.coll].indexOf(this.userOptions)]=a);b(m.options[this.coll].events,function(a,b){"undefined"===typeof p[b]&&(p[b]=void 0)});this.destroy(!0);this.init(m,v(a,{events:p}));m.isDirtyBox=!0;c(e,!0)&&m.redraw()},remove:function(a){for(var b=this.chart,d=this.coll,e=this.series,m=e.length;m--;)e[m]&&e[m].remove(!1);
376
- x(b.axes,this);x(b[d],this);f(b.options[d])?b.options[d].splice(this.options.index,1):delete b.options[d];b[d].forEach(function(a,b){a.options.index=a.userOptions.index=b});this.destroy();b.isDirtyBox=!0;c(a,!0)&&b.redraw()},setTitle:function(a,b){this.update({title:a},b)},setCategories:function(a,b){this.update({categories:a},b)}})});J(G,"parts/AreaSeries.js",[G["parts/Globals.js"]],function(a){var B=a.color,y=a.pick,C=a.Series,r=a.seriesType;r("area","line",{softThreshold:!1,threshold:0},{singleStacks:!1,
377
- getStackPoints:function(h){var r=[],t=[],x=this.xAxis,v=this.yAxis,q=v.stacks[this.stackKey],l={},g=this.index,f=v.series,d=f.length,b,c=y(v.options.reversedStacks,!0)?1:-1,e;h=h||this.points;if(this.options.stacking){for(e=0;e<h.length;e++)h[e].leftNull=h[e].rightNull=null,l[h[e].x]=h[e];a.objectEach(q,function(a,b){null!==a.total&&t.push(b)});t.sort(function(a,b){return a-b});b=f.map(function(a){return a.visible});t.forEach(function(a,f){var n=0,w,m;if(l[a]&&!l[a].isNull)r.push(l[a]),[-1,1].forEach(function(p){var n=
378
- 1===p?"rightNull":"leftNull",h=0,z=q[t[f+p]];if(z)for(e=g;0<=e&&e<d;)w=z.points[e],w||(e===g?l[a][n]=!0:b[e]&&(m=q[a].points[e])&&(h-=m[1]-m[0])),e+=c;l[a][1===p?"rightCliff":"leftCliff"]=h});else{for(e=g;0<=e&&e<d;){if(w=q[a].points[e]){n=w[1];break}e+=c}n=v.translate(n,0,1,0,1);r.push({isNull:!0,plotX:x.translate(a,0,0,0,1),x:a,plotY:n,yBottom:n})}})}return r},getGraphPath:function(a){var h=C.prototype.getGraphPath,r=this.options,x=r.stacking,v=this.yAxis,q,l,g=[],f=[],d=this.index,b,c=v.stacks[this.stackKey],
379
- e=r.threshold,n=v.getThreshold(r.threshold),w,r=r.connectNulls||"percent"===x,z=function(l,m,p){var w=a[l];l=x&&c[w.x].points[d];var h=w[p+"Null"]||0;p=w[p+"Cliff"]||0;var q,z,w=!0;p||h?(q=(h?l[0]:l[1])+p,z=l[0]+p,w=!!h):!x&&a[m]&&a[m].isNull&&(q=z=e);void 0!==q&&(f.push({plotX:b,plotY:null===q?n:v.getThreshold(q),isNull:w,isCliff:!0}),g.push({plotX:b,plotY:null===z?n:v.getThreshold(z),doCurve:!1}))};a=a||this.points;x&&(a=this.getStackPoints(a));for(q=0;q<a.length;q++)if(l=a[q].isNull,b=y(a[q].rectPlotX,
380
- a[q].plotX),w=y(a[q].yBottom,n),!l||r)r||z(q,q-1,"left"),l&&!x&&r||(f.push(a[q]),g.push({x:q,plotX:b,plotY:w})),r||z(q,q+1,"right");q=h.call(this,f,!0,!0);g.reversed=!0;l=h.call(this,g,!0,!0);l.length&&(l[0]="L");l=q.concat(l);h=h.call(this,f,!1,r);l.xMap=q.xMap;this.areaPath=l;return h},drawGraph:function(){this.areaPath=[];C.prototype.drawGraph.apply(this);var a=this,r=this.areaPath,t=this.options,x=[["area","highcharts-area",this.color,t.fillColor]];this.zones.forEach(function(h,q){x.push(["zone-area-"+
381
- q,"highcharts-area highcharts-zone-area-"+q+" "+h.className,h.color||a.color,h.fillColor||t.fillColor])});x.forEach(function(h){var q=h[0],l=a[q],g=l?"animate":"attr",f={};l?(l.endX=a.preventGraphAnimation?null:r.xMap,l.animate({d:r})):(f.zIndex=0,l=a[q]=a.chart.renderer.path(r).addClass(h[1]).add(a.group),l.isArea=!0);a.chart.styledMode||(f.fill=y(h[3],B(h[2]).setOpacity(y(t.fillOpacity,.75)).get()));l[g](f);l.startX=r.xMap;l.shiftUnit=t.step?2:1})},drawLegendSymbol:a.LegendSymbolMixin.drawRectangle})});
382
- J(G,"parts/SplineSeries.js",[G["parts/Globals.js"]],function(a){var B=a.pick;a=a.seriesType;a("spline","line",{},{getPointSpline:function(a,C,r){var h=C.plotX,u=C.plotY,t=a[r-1];r=a[r+1];var x,v,q,l;if(t&&!t.isNull&&!1!==t.doCurve&&!C.isCliff&&r&&!r.isNull&&!1!==r.doCurve&&!C.isCliff){a=t.plotY;q=r.plotX;r=r.plotY;var g=0;x=(1.5*h+t.plotX)/2.5;v=(1.5*u+a)/2.5;q=(1.5*h+q)/2.5;l=(1.5*u+r)/2.5;q!==x&&(g=(l-v)*(q-h)/(q-x)+u-l);v+=g;l+=g;v>a&&v>u?(v=Math.max(a,u),l=2*u-v):v<a&&v<u&&(v=Math.min(a,u),l=
383
- 2*u-v);l>r&&l>u?(l=Math.max(r,u),v=2*u-l):l<r&&l<u&&(l=Math.min(r,u),v=2*u-l);C.rightContX=q;C.rightContY=l}C=["C",B(t.rightContX,t.plotX),B(t.rightContY,t.plotY),B(x,h),B(v,u),h,u];t.rightContX=t.rightContY=null;return C}})});J(G,"parts/AreaSplineSeries.js",[G["parts/Globals.js"]],function(a){var B=a.seriesTypes.area.prototype,y=a.seriesType;y("areaspline","spline",a.defaultPlotOptions.area,{getStackPoints:B.getStackPoints,getGraphPath:B.getGraphPath,drawGraph:B.drawGraph,drawLegendSymbol:a.LegendSymbolMixin.drawRectangle})});
384
- J(G,"parts/ColumnSeries.js",[G["parts/Globals.js"]],function(a){var B=a.animObject,y=a.color,C=a.extend,r=a.defined,h=a.isNumber,u=a.merge,t=a.pick,x=a.Series,v=a.seriesType,q=a.svg;v("column","line",{borderRadius:0,crisp:!0,groupPadding:.2,marker:null,pointPadding:.1,minPointLength:0,cropThreshold:50,pointRange:null,states:{hover:{halo:!1,brightness:.1},select:{color:"#cccccc",borderColor:"#000000"}},dataLabels:{align:null,verticalAlign:null,y:null},softThreshold:!1,startFromThreshold:!0,stickyTracking:!1,
385
- tooltip:{distance:6},threshold:0,borderColor:"#ffffff"},{cropShoulder:0,directTouch:!0,trackerGroups:["group","dataLabelsGroup"],negStacks:!0,init:function(){x.prototype.init.apply(this,arguments);var a=this,g=a.chart;g.hasRendered&&g.series.forEach(function(f){f.type===a.type&&(f.isDirty=!0)})},getColumnMetrics:function(){var a=this,g=a.options,f=a.xAxis,d=a.yAxis,b=f.options.reversedStacks,b=f.reversed&&!b||!f.reversed&&b,c,e={},n=0;!1===g.grouping?n=1:a.chart.series.forEach(function(b){var m=b.options,
386
- f=b.yAxis,g;b.type!==a.type||!b.visible&&a.chart.options.chart.ignoreHiddenSeries||d.len!==f.len||d.pos!==f.pos||(m.stacking?(c=b.stackKey,void 0===e[c]&&(e[c]=n++),g=e[c]):!1!==m.grouping&&(g=n++),b.columnIndex=g)});var w=Math.min(Math.abs(f.transA)*(f.ordinalSlope||g.pointRange||f.closestPointRange||f.tickInterval||1),f.len),h=w*g.groupPadding,q=(w-2*h)/(n||1),g=Math.min(g.maxPointWidth||f.len,t(g.pointWidth,q*(1-2*g.pointPadding)));a.columnMetrics={width:g,offset:(q-g)/2+(h+((a.columnIndex||0)+
387
- (b?1:0))*q-w/2)*(b?-1:1)};return a.columnMetrics},crispCol:function(a,g,f,d){var b=this.chart,c=this.borderWidth,e=-(c%2?.5:0),c=c%2?.5:1;b.inverted&&b.renderer.isVML&&(c+=1);this.options.crisp&&(f=Math.round(a+f)+e,a=Math.round(a)+e,f-=a);d=Math.round(g+d)+c;e=.5>=Math.abs(g)&&.5<d;g=Math.round(g)+c;d-=g;e&&d&&(--g,d+=1);return{x:a,y:g,width:f,height:d}},translate:function(){var a=this,g=a.chart,f=a.options,d=a.dense=2>a.closestPointRange*a.xAxis.transA,d=a.borderWidth=t(f.borderWidth,d?0:1),b=a.yAxis,
388
- c=f.threshold,e=a.translatedThreshold=b.getThreshold(c),n=t(f.minPointLength,5),w=a.getColumnMetrics(),h=w.width,q=a.barW=Math.max(h,1+2*d),m=a.pointXOffset=w.offset;g.inverted&&(e-=.5);f.pointPadding&&(q=Math.ceil(q));x.prototype.translate.apply(a);a.points.forEach(function(d){var p=t(d.yBottom,e),f=999+Math.abs(p),l=h,f=Math.min(Math.max(-f,d.plotY),b.len+f),w=d.plotX+m,k=q,z=Math.min(f,p),F,v=Math.max(f,p)-z;n&&Math.abs(v)<n&&(v=n,F=!b.reversed&&!d.negative||b.reversed&&d.negative,d.y===c&&a.dataMax<=
389
- c&&b.min<c&&(F=!F),z=Math.abs(z-e)>n?p-n:e-(F?n:0));r(d.options.pointWidth)&&(l=k=Math.ceil(d.options.pointWidth),w-=Math.round((l-h)/2));d.barX=w;d.pointWidth=l;d.tooltipPos=g.inverted?[b.len+b.pos-g.plotLeft-f,a.xAxis.len-w-k/2,v]:[w+k/2,f+b.pos-g.plotTop,v];d.shapeType=a.pointClass.prototype.shapeType||"rect";d.shapeArgs=a.crispCol.apply(a,d.isNull?[w,e,k,0]:[w,z,k,v])})},getSymbol:a.noop,drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,drawGraph:function(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")},
390
- pointAttribs:function(a,g){var f=this.options,d,b=this.pointAttrToOptions||{};d=b.stroke||"borderColor";var c=b["stroke-width"]||"borderWidth",e=a&&a.color||this.color,n=a&&a[d]||f[d]||this.color||e,l=a&&a[c]||f[c]||this[c]||0,b=a&&a.dashStyle||f.dashStyle,h=t(f.opacity,1),q;a&&this.zones.length&&(q=a.getZone(),e=a.options.color||q&&q.color||this.color,q&&(n=q.borderColor||n,b=q.dashStyle||b,l=q.borderWidth||l));g&&(a=u(f.states[g],a.options.states&&a.options.states[g]||{}),g=a.brightness,e=a.color||
391
- void 0!==g&&y(e).brighten(a.brightness).get()||e,n=a[d]||n,l=a[c]||l,b=a.dashStyle||b,h=t(a.opacity,h));d={fill:e,stroke:n,"stroke-width":l,opacity:h};b&&(d.dashstyle=b);return d},drawPoints:function(){var a=this,g=this.chart,f=a.options,d=g.renderer,b=f.animationLimit||250,c;a.points.forEach(function(e){var n=e.graphic,l=n&&g.pointCount<b?"animate":"attr";if(h(e.plotY)&&null!==e.y){c=e.shapeArgs;n&&n.element.nodeName!==e.shapeType&&(n=n.destroy());if(n)n[l](u(c));else e.graphic=n=d[e.shapeType](c).add(e.group||
392
- a.group);if(f.borderRadius)n[l]({r:f.borderRadius});g.styledMode||n[l](a.pointAttribs(e,e.selected&&"select")).shadow(!1!==e.allowShadow&&f.shadow,null,f.stacking&&!f.borderRadius);n.addClass(e.getClassName(),!0)}else n&&(e.graphic=n.destroy())})},animate:function(a){var g=this,f=this.yAxis,d=g.options,b=this.chart.inverted,c={},e=b?"translateX":"translateY",n;q&&(a?(c.scaleY=.001,a=Math.min(f.pos+f.len,Math.max(f.pos,f.toPixels(d.threshold))),b?c.translateX=a-f.len:c.translateY=a,g.clipBox&&g.setClip(),
393
- g.group.attr(c)):(n=g.group.attr(e),g.group.animate({scaleY:1},C(B(g.options.animation),{step:function(a,b){c[e]=n+b.pos*(f.pos-n);g.group.attr(c)}})),g.animate=null))},remove:function(){var a=this,g=a.chart;g.hasRendered&&g.series.forEach(function(f){f.type===a.type&&(f.isDirty=!0)});x.prototype.remove.apply(a,arguments)}})});J(G,"parts/BarSeries.js",[G["parts/Globals.js"]],function(a){a=a.seriesType;a("bar","column",null,{inverted:!0})});J(G,"parts/ScatterSeries.js",[G["parts/Globals.js"]],function(a){var B=
394
- a.Series,y=a.seriesType;y("scatter","line",{lineWidth:0,findNearestPointBy:"xy",jitter:{x:0,y:0},marker:{enabled:!0},tooltip:{headerFormat:'\x3cspan style\x3d"color:{point.color}"\x3e\u25cf\x3c/span\x3e \x3cspan style\x3d"font-size: 10px"\x3e {series.name}\x3c/span\x3e\x3cbr/\x3e',pointFormat:"x: \x3cb\x3e{point.x}\x3c/b\x3e\x3cbr/\x3ey: \x3cb\x3e{point.y}\x3c/b\x3e\x3cbr/\x3e"}},{sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"],takeOrdinalPosition:!1,
395
- drawGraph:function(){this.options.lineWidth&&B.prototype.drawGraph.call(this)},applyJitter:function(){var a=this,r=this.options.jitter,h=this.points.length;r&&this.points.forEach(function(u,t){["x","y"].forEach(function(x,v){var q,l="plot"+x.toUpperCase(),g,f;r[x]&&!u.isNull&&(q=a[x+"Axis"],f=r[x]*q.transA,q&&!q.isLog&&(g=Math.max(0,u[l]-f),q=Math.min(q.len,u[l]+f),v=1E4*Math.sin(t+v*h),u[l]=g+(q-g)*(v-Math.floor(v)),"x"===x&&(u.clientX=u.plotX)))})})}});a.addEvent(B,"afterTranslate",function(){this.applyJitter&&
396
- this.applyJitter()})});J(G,"mixins/centered-series.js",[G["parts/Globals.js"]],function(a){var B=a.deg2rad,y=a.isNumber,C=a.pick,r=a.relativeLength;a.CenteredSeriesMixin={getCenter:function(){var a=this.options,u=this.chart,t=2*(a.slicedOffset||0),x=u.plotWidth-2*t,u=u.plotHeight-2*t,v=a.center,v=[C(v[0],"50%"),C(v[1],"50%"),a.size||"100%",a.innerSize||0],q=Math.min(x,u),l,g;for(l=0;4>l;++l)g=v[l],a=2>l||2===l&&/%$/.test(g),v[l]=r(g,[x,u,q,v[2]][l])+(a?t:0);v[3]>v[2]&&(v[3]=v[2]);return v},getStartAndEndRadians:function(a,
397
- r){a=y(a)?a:0;r=y(r)&&r>a&&360>r-a?r:a+360;return{start:B*(a+-90),end:B*(r+-90)}}}});J(G,"parts/PieSeries.js",[G["parts/Globals.js"]],function(a){var B=a.addEvent,y=a.CenteredSeriesMixin,C=a.defined,r=y.getStartAndEndRadians,h=a.merge,u=a.noop,t=a.pick,x=a.Point,v=a.Series,q=a.seriesType,l=a.setAnimation;q("pie","line",{center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{allowOverlap:!0,connectorPadding:5,distance:30,enabled:!0,formatter:function(){return this.point.isNull?void 0:this.point.name},
398
- softConnector:!0,x:0,connectorShape:"fixedOffset",crookDistance:"70%"},ignoreHiddenPoint:!0,inactiveOtherPoints:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0},borderColor:"#ffffff",borderWidth:1,states:{hover:{brightness:.1}}},{isCartesian:!1,requireSorting:!1,directTouch:!0,noSharedTooltip:!0,trackerGroups:["group","dataLabelsGroup"],axisTypes:[],pointAttribs:a.seriesTypes.column.prototype.pointAttribs,animate:function(a){var f=
399
- this,d=f.points,b=f.startAngleRad;a||(d.forEach(function(a){var c=a.graphic,d=a.shapeArgs;c&&(c.attr({r:a.startR||f.center[3]/2,start:b,end:b}),c.animate({r:d.r,start:d.start,end:d.end},f.options.animation))}),f.animate=null)},hasData:function(){return!!this.processedXData.length},updateTotals:function(){var a,f=0,d=this.points,b=d.length,c,e=this.options.ignoreHiddenPoint;for(a=0;a<b;a++)c=d[a],f+=e&&!c.visible?0:c.isNull?0:c.y;this.total=f;for(a=0;a<b;a++)c=d[a],c.percentage=0<f&&(c.visible||!e)?
400
- c.y/f*100:0,c.total=f},generatePoints:function(){v.prototype.generatePoints.call(this);this.updateTotals()},getX:function(a,f,d){var b=this.center,c=this.radii?this.radii[d.index]:b[2]/2;return b[0]+(f?-1:1)*Math.cos(Math.asin(Math.max(Math.min((a-b[1])/(c+d.labelDistance),1),-1)))*(c+d.labelDistance)+(0<d.labelDistance?(f?-1:1)*this.options.dataLabels.padding:0)},translate:function(a){this.generatePoints();var f=0,d=this.options,b=d.slicedOffset,c=b+(d.borderWidth||0),e,n,g=r(d.startAngle,d.endAngle),
401
- l=this.startAngleRad=g.start,g=(this.endAngleRad=g.end)-l,h=this.points,m,p,q=d.dataLabels.distance,d=d.ignoreHiddenPoint,v,u=h.length,E;a||(this.center=a=this.getCenter());for(v=0;v<u;v++){E=h[v];E.labelDistance=t(E.options.dataLabels&&E.options.dataLabels.distance,q);this.maxLabelDistance=Math.max(this.maxLabelDistance||0,E.labelDistance);e=l+f*g;if(!d||E.visible)f+=E.percentage/100;n=l+f*g;E.shapeType="arc";E.shapeArgs={x:a[0],y:a[1],r:a[2]/2,innerR:a[3]/2,start:Math.round(1E3*e)/1E3,end:Math.round(1E3*
402
- n)/1E3};n=(n+e)/2;n>1.5*Math.PI?n-=2*Math.PI:n<-Math.PI/2&&(n+=2*Math.PI);E.slicedTranslation={translateX:Math.round(Math.cos(n)*b),translateY:Math.round(Math.sin(n)*b)};m=Math.cos(n)*a[2]/2;p=Math.sin(n)*a[2]/2;E.tooltipPos=[a[0]+.7*m,a[1]+.7*p];E.half=n<-Math.PI/2||n>Math.PI/2?1:0;E.angle=n;e=Math.min(c,E.labelDistance/5);E.labelPosition={natural:{x:a[0]+m+Math.cos(n)*E.labelDistance,y:a[1]+p+Math.sin(n)*E.labelDistance},"final":{},alignment:0>E.labelDistance?"center":E.half?"right":"left",connectorPosition:{breakAt:{x:a[0]+
403
- m+Math.cos(n)*e,y:a[1]+p+Math.sin(n)*e},touchingSliceAt:{x:a[0]+m,y:a[1]+p}}}}},drawGraph:null,redrawPoints:function(){var a=this,f=a.chart,d=f.renderer,b,c,e,n,l=a.options.shadow;!l||a.shadowGroup||f.styledMode||(a.shadowGroup=d.g("shadow").attr({zIndex:-1}).add(a.group));a.points.forEach(function(g){var w={};c=g.graphic;if(!g.isNull&&c){n=g.shapeArgs;b=g.getTranslate();if(!f.styledMode){var m=g.shadowGroup;l&&!m&&(m=g.shadowGroup=d.g("shadow").add(a.shadowGroup));m&&m.attr(b);e=a.pointAttribs(g,
404
- g.selected&&"select")}g.delayedRendering?(c.setRadialReference(a.center).attr(n).attr(b),f.styledMode||c.attr(e).attr({"stroke-linejoin":"round"}).shadow(l,m),g.delayRendering=!1):(c.setRadialReference(a.center),f.styledMode||h(!0,w,e),h(!0,w,n,b),c.animate(w));c.attr({visibility:g.visible?"inherit":"hidden"});c.addClass(g.getClassName())}else c&&(g.graphic=c.destroy())})},drawPoints:function(){var a=this.chart.renderer;this.points.forEach(function(f){f.graphic||(f.graphic=a[f.shapeType](f.shapeArgs).add(f.series.group),
405
- f.delayedRendering=!0)})},searchPoint:u,sortByAngle:function(a,f){a.sort(function(a,b){return void 0!==a.angle&&(b.angle-a.angle)*f})},drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,getCenter:y.getCenter,getSymbol:u},{init:function(){x.prototype.init.apply(this,arguments);var a=this,f;a.name=t(a.name,"Slice");f=function(d){a.slice("select"===d.type)};B(a,"select",f);B(a,"unselect",f);return a},isValid:function(){return a.isNumber(this.y,!0)&&0<=this.y},setVisible:function(a,f){var d=this,b=d.series,
406
- c=b.chart,e=b.options.ignoreHiddenPoint;f=t(f,e);a!==d.visible&&(d.visible=d.options.visible=a=void 0===a?!d.visible:a,b.options.data[b.data.indexOf(d)]=d.options,["graphic","dataLabel","connector","shadowGroup"].forEach(function(b){if(d[b])d[b][a?"show":"hide"](!0)}),d.legendItem&&c.legend.colorizeItem(d,a),a||"hover"!==d.state||d.setState(""),e&&(b.isDirty=!0),f&&c.redraw())},slice:function(a,f,d){var b=this.series;l(d,b.chart);t(f,!0);this.sliced=this.options.sliced=C(a)?a:!this.sliced;b.options.data[b.data.indexOf(this)]=
407
- this.options;this.graphic.animate(this.getTranslate());this.shadowGroup&&this.shadowGroup.animate(this.getTranslate())},getTranslate:function(){return this.sliced?this.slicedTranslation:{translateX:0,translateY:0}},haloPath:function(a){var f=this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(f.x,f.y,f.r+a,f.r+a,{innerR:this.shapeArgs.r-1,start:f.start,end:f.end})},connectorShapes:{fixedOffset:function(a,f,d){var b=f.breakAt;f=f.touchingSliceAt;return["M",a.x,
408
- a.y].concat(d.softConnector?["C",a.x+("left"===a.alignment?-5:5),a.y,2*b.x-f.x,2*b.y-f.y,b.x,b.y]:["L",b.x,b.y]).concat(["L",f.x,f.y])},straight:function(a,f){f=f.touchingSliceAt;return["M",a.x,a.y,"L",f.x,f.y]},crookedLine:function(g,f,d){f=f.touchingSliceAt;var b=this.series,c=b.center[0],e=b.chart.plotWidth,n=b.chart.plotLeft,b=g.alignment,l=this.shapeArgs.r;d=a.relativeLength(d.crookDistance,1);d="left"===b?c+l+(e+n-c-l)*(1-d):n+(c-l)*d;c=["L",d,g.y];if("left"===b?d>g.x||d<f.x:d<g.x||d>f.x)c=
409
- [];return["M",g.x,g.y].concat(c).concat(["L",f.x,f.y])}},getConnectorPath:function(){var a=this.labelPosition,f=this.series.options.dataLabels,d=f.connectorShape,b=this.connectorShapes;b[d]&&(d=b[d]);return d.call(this,{x:a.final.x,y:a.final.y,alignment:a.alignment},a.connectorPosition,f)}})});J(G,"parts/DataLabels.js",[G["parts/Globals.js"]],function(a){var B=a.arrayMax,y=a.defined,C=a.extend,r=a.format,h=a.merge,u=a.noop,t=a.pick,x=a.relativeLength,v=a.Series,q=a.seriesTypes,l=a.stableSort,g=a.isArray,
410
- f=a.splat;a.distribute=function(d,b,c){function e(a,b){return a.target-b.target}var n,f=!0,g=d,h=[],m;m=0;var p=g.reducedLen||b;for(n=d.length;n--;)m+=d[n].size;if(m>p){l(d,function(a,b){return(b.rank||0)-(a.rank||0)});for(m=n=0;m<=p;)m+=d[n].size,n++;h=d.splice(n-1,d.length)}l(d,e);for(d=d.map(function(a){return{size:a.size,targets:[a.target],align:t(a.align,.5)}});f;){for(n=d.length;n--;)f=d[n],m=(Math.min.apply(0,f.targets)+Math.max.apply(0,f.targets))/2,f.pos=Math.min(Math.max(0,m-f.size*f.align),
411
- b-f.size);n=d.length;for(f=!1;n--;)0<n&&d[n-1].pos+d[n-1].size>d[n].pos&&(d[n-1].size+=d[n].size,d[n-1].targets=d[n-1].targets.concat(d[n].targets),d[n-1].align=.5,d[n-1].pos+d[n-1].size>b&&(d[n-1].pos=b-d[n-1].size),d.splice(n,1),f=!0)}g.push.apply(g,h);n=0;d.some(function(d){var e=0;if(d.targets.some(function(){g[n].pos=d.pos+e;if(Math.abs(g[n].pos-g[n].target)>c)return g.slice(0,n+1).forEach(function(a){delete a.pos}),g.reducedLen=(g.reducedLen||b)-.1*b,g.reducedLen>.1*b&&a.distribute(g,b,c),!0;
412
- e+=g[n].size;n++}))return!0});l(g,e)};v.prototype.drawDataLabels=function(){function d(a,b){var c=b.filter;return c?(b=c.operator,a=a[c.property],c=c.value,"\x3e"===b&&a>c||"\x3c"===b&&a<c||"\x3e\x3d"===b&&a>=c||"\x3c\x3d"===b&&a<=c||"\x3d\x3d"===b&&a==c||"\x3d\x3d\x3d"===b&&a===c?!0:!1):!0}function b(a,b){var c=[],d;if(g(a)&&!g(b))c=a.map(function(a){return h(a,b)});else if(g(b)&&!g(a))c=b.map(function(b){return h(a,b)});else if(g(a)||g(b))for(d=Math.max(a.length,b.length);d--;)c[d]=h(a[d],b[d]);
413
- else c=h(a,b);return c}var c=this,e=c.chart,n=c.options,l=n.dataLabels,q=c.points,F,m=c.hasRendered||0,p,A=a.animObject(n.animation).duration,v=Math.min(A,200),u=t(l.defer,0<v),E=e.renderer,l=b(b(e.options.plotOptions&&e.options.plotOptions.series&&e.options.plotOptions.series.dataLabels,e.options.plotOptions&&e.options.plotOptions[c.type]&&e.options.plotOptions[c.type].dataLabels),l);a.fireEvent(this,"drawDataLabels");if(g(l)||l.enabled||c._hasPointLabels)p=c.plotGroup("dataLabelsGroup","data-labels",
414
- u&&!m?"hidden":"inherit",l.zIndex||6),u&&(p.attr({opacity:+m}),m||setTimeout(function(){var a=c.dataLabelsGroup;a&&(c.visible&&p.show(!0),a[n.animation?"animate":"attr"]({opacity:1},{duration:v}))},A-v)),q.forEach(function(k){F=f(b(l,k.dlOptions||k.options&&k.options.dataLabels));F.forEach(function(b,m){var f=b.enabled&&(!k.isNull||k.dataLabelOnNull)&&d(k,b),g,l,h,w,q=k.dataLabels?k.dataLabels[m]:k.dataLabel,z=k.connectors?k.connectors[m]:k.connector,A=!q;f&&(g=k.getLabelConfig(),l=t(b[k.formatPrefix+
415
- "Format"],b.format),g=y(l)?r(l,g,e.time):(b[k.formatPrefix+"Formatter"]||b.formatter).call(g,b),l=b.style,h=b.rotation,e.styledMode||(l.color=t(b.color,l.color,c.color,"#000000"),"contrast"===l.color&&(k.contrastColor=E.getContrast(k.color||c.color),l.color=b.inside||0>t(b.distance,k.labelDistance)||n.stacking?k.contrastColor:"#000000"),n.cursor&&(l.cursor=n.cursor)),w={r:b.borderRadius||0,rotation:h,padding:b.padding,zIndex:1},e.styledMode||(w.fill=b.backgroundColor,w.stroke=b.borderColor,w["stroke-width"]=
416
- b.borderWidth),a.objectEach(w,function(a,b){void 0===a&&delete w[b]}));!q||f&&y(g)?f&&y(g)&&(q?w.text=g:(k.dataLabels=k.dataLabels||[],q=k.dataLabels[m]=h?E.text(g,0,-9999).addClass("highcharts-data-label"):E.label(g,0,-9999,b.shape,null,null,b.useHTML,null,"data-label"),m||(k.dataLabel=q),q.addClass(" highcharts-data-label-color-"+k.colorIndex+" "+(b.className||"")+(b.useHTML?" highcharts-tracker":""))),q.options=b,q.attr(w),e.styledMode||q.css(l).shadow(b.shadow),q.added||q.add(p),b.textPath&&q.setTextPath(k.getDataLabelPath&&
417
- k.getDataLabelPath(q)||k.graphic,b.textPath),c.alignDataLabel(k,q,b,null,A)):(k.dataLabel=k.dataLabel&&k.dataLabel.destroy(),k.dataLabels&&(1===k.dataLabels.length?delete k.dataLabels:delete k.dataLabels[m]),m||delete k.dataLabel,z&&(k.connector=k.connector.destroy(),k.connectors&&(1===k.connectors.length?delete k.connectors:delete k.connectors[m])))})});a.fireEvent(this,"afterDrawDataLabels")};v.prototype.alignDataLabel=function(a,b,c,e,n){var d=this.chart,f=this.isCartesian&&d.inverted,g=t(a.dlBox&&
418
- a.dlBox.centerX,a.plotX,-9999),m=t(a.plotY,-9999),p=b.getBBox(),l,h=c.rotation,q=c.align,r=this.visible&&(a.series.forceDL||d.isInsidePlot(g,Math.round(m),f)||e&&d.isInsidePlot(g,f?e.x+1:e.y+e.height-1,f)),k="justify"===t(c.overflow,"justify");if(r&&(l=d.renderer.fontMetrics(d.styledMode?void 0:c.style.fontSize,b).b,e=C({x:f?this.yAxis.len-m:g,y:Math.round(f?this.xAxis.len-g:m),width:0,height:0},e),C(c,{width:p.width,height:p.height}),h?(k=!1,g=d.renderer.rotCorr(l,h),g={x:e.x+c.x+e.width/2+g.x,y:e.y+
419
- c.y+{top:0,middle:.5,bottom:1}[c.verticalAlign]*e.height},b[n?"attr":"animate"](g).attr({align:q}),m=(h+720)%360,m=180<m&&360>m,"left"===q?g.y-=m?p.height:0:"center"===q?(g.x-=p.width/2,g.y-=p.height/2):"right"===q&&(g.x-=p.width,g.y-=m?0:p.height),b.placed=!0,b.alignAttr=g):(b.align(c,null,e),g=b.alignAttr),k&&0<=e.height?a.isLabelJustified=this.justifyDataLabel(b,c,g,p,e,n):t(c.crop,!0)&&(r=d.isInsidePlot(g.x,g.y)&&d.isInsidePlot(g.x+p.width,g.y+p.height)),c.shape&&!h))b[n?"attr":"animate"]({anchorX:f?
420
- d.plotWidth-a.plotY:a.plotX,anchorY:f?d.plotHeight-a.plotX:a.plotY});r||(b.attr({y:-9999}),b.placed=!1)};v.prototype.justifyDataLabel=function(a,b,c,e,n,f){var d=this.chart,g=b.align,m=b.verticalAlign,p,l,h=a.box?0:a.padding||0;p=c.x+h;0>p&&("right"===g?b.align="left":b.x=-p,l=!0);p=c.x+e.width-h;p>d.plotWidth&&("left"===g?b.align="right":b.x=d.plotWidth-p,l=!0);p=c.y+h;0>p&&("bottom"===m?b.verticalAlign="top":b.y=-p,l=!0);p=c.y+e.height-h;p>d.plotHeight&&("top"===m?b.verticalAlign="bottom":b.y=d.plotHeight-
421
- p,l=!0);l&&(a.placed=!f,a.align(b,null,n));return l};q.pie&&(q.pie.prototype.dataLabelPositioners={radialDistributionY:function(a){return a.top+a.distributeBox.pos},radialDistributionX:function(a,b,c,e){return a.getX(c<b.top+2||c>b.bottom-2?e:c,b.half,b)},justify:function(a,b,c){return c[0]+(a.half?-1:1)*(b+a.labelDistance)},alignToPlotEdges:function(a,b,c,e){a=a.getBBox().width;return b?a+e:c-a-e},alignToConnectors:function(a,b,c,e){var d=0,f;a.forEach(function(a){f=a.dataLabel.getBBox().width;f>
422
- d&&(d=f)});return b?d+e:c-d-e}},q.pie.prototype.drawDataLabels=function(){var d=this,b=d.data,c,e=d.chart,n=d.options.dataLabels,f=n.connectorPadding,g,l=e.plotWidth,m=e.plotHeight,p=e.plotLeft,q=Math.round(e.chartWidth/3),r,u=d.center,E=u[2]/2,k=u[1],x,C,Q,L,R=[[],[]],N,K,G,J,M=[0,0,0,0],T=d.dataLabelPositioners,da;d.visible&&(n.enabled||d._hasPointLabels)&&(b.forEach(function(a){a.dataLabel&&a.visible&&a.dataLabel.shortened&&(a.dataLabel.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),
423
- a.dataLabel.shortened=!1)}),v.prototype.drawDataLabels.apply(d),b.forEach(function(a){a.dataLabel&&(a.visible?(R[a.half].push(a),a.dataLabel._pos=null,!y(n.style.width)&&!y(a.options.dataLabels&&a.options.dataLabels.style&&a.options.dataLabels.style.width)&&a.dataLabel.getBBox().width>q&&(a.dataLabel.css({width:.7*q}),a.dataLabel.shortened=!0)):(a.dataLabel=a.dataLabel.destroy(),a.dataLabels&&1===a.dataLabels.length&&delete a.dataLabels))}),R.forEach(function(b,g){var h,w,q=b.length,r=[],z;if(q)for(d.sortByAngle(b,
424
- g-.5),0<d.maxLabelDistance&&(h=Math.max(0,k-E-d.maxLabelDistance),w=Math.min(k+E+d.maxLabelDistance,e.plotHeight),b.forEach(function(a){0<a.labelDistance&&a.dataLabel&&(a.top=Math.max(0,k-E-a.labelDistance),a.bottom=Math.min(k+E+a.labelDistance,e.plotHeight),z=a.dataLabel.getBBox().height||21,a.distributeBox={target:a.labelPosition.natural.y-a.top+z/2,size:z,rank:a.y},r.push(a.distributeBox))}),h=w+z-h,a.distribute(r,h,h/5)),J=0;J<q;J++){c=b[J];Q=c.labelPosition;x=c.dataLabel;G=!1===c.visible?"hidden":
425
- "inherit";K=h=Q.natural.y;r&&y(c.distributeBox)&&(void 0===c.distributeBox.pos?G="hidden":(L=c.distributeBox.size,K=T.radialDistributionY(c)));delete c.positionIndex;if(n.justify)N=T.justify(c,E,u);else switch(n.alignTo){case "connectors":N=T.alignToConnectors(b,g,l,p);break;case "plotEdges":N=T.alignToPlotEdges(x,g,l,p);break;default:N=T.radialDistributionX(d,c,K,h)}x._attr={visibility:G,align:Q.alignment};x._pos={x:N+n.x+({left:f,right:-f}[Q.alignment]||0),y:K+n.y-10};Q.final.x=N;Q.final.y=K;t(n.crop,
426
- !0)&&(C=x.getBBox().width,h=null,N-C<f&&1===g?(h=Math.round(C-N+f),M[3]=Math.max(h,M[3])):N+C>l-f&&0===g&&(h=Math.round(N+C-l+f),M[1]=Math.max(h,M[1])),0>K-L/2?M[0]=Math.max(Math.round(-K+L/2),M[0]):K+L/2>m&&(M[2]=Math.max(Math.round(K+L/2-m),M[2])),x.sideOverflow=h)}}),0===B(M)||this.verifyDataLabelOverflow(M))&&(this.placeDataLabels(),this.points.forEach(function(a){da=h(n,a.options.dataLabels);if(g=t(da.connectorWidth,1)){var b;r=a.connector;if((x=a.dataLabel)&&x._pos&&a.visible&&0<a.labelDistance){G=
427
- x._attr.visibility;if(b=!r)a.connector=r=e.renderer.path().addClass("highcharts-data-label-connector highcharts-color-"+a.colorIndex+(a.className?" "+a.className:"")).add(d.dataLabelsGroup),e.styledMode||r.attr({"stroke-width":g,stroke:da.connectorColor||a.color||"#666666"});r[b?"attr":"animate"]({d:a.getConnectorPath()});r.attr("visibility",G)}else r&&(a.connector=r.destroy())}}))},q.pie.prototype.placeDataLabels=function(){this.points.forEach(function(a){var b=a.dataLabel,c;b&&a.visible&&((c=b._pos)?
428
- (b.sideOverflow&&(b._attr.width=Math.max(b.getBBox().width-b.sideOverflow,0),b.css({width:b._attr.width+"px",textOverflow:(this.options.dataLabels.style||{}).textOverflow||"ellipsis"}),b.shortened=!0),b.attr(b._attr),b[b.moved?"animate":"attr"](c),b.moved=!0):b&&b.attr({y:-9999}));delete a.distributeBox},this)},q.pie.prototype.alignDataLabel=u,q.pie.prototype.verifyDataLabelOverflow=function(a){var b=this.center,c=this.options,d=c.center,n=c.minSize||80,f,g=null!==c.size;g||(null!==d[0]?f=Math.max(b[2]-
429
- Math.max(a[1],a[3]),n):(f=Math.max(b[2]-a[1]-a[3],n),b[0]+=(a[3]-a[1])/2),null!==d[1]?f=Math.max(Math.min(f,b[2]-Math.max(a[0],a[2])),n):(f=Math.max(Math.min(f,b[2]-a[0]-a[2]),n),b[1]+=(a[0]-a[2])/2),f<b[2]?(b[2]=f,b[3]=Math.min(x(c.innerSize||0,f),f),this.translate(b),this.drawDataLabels&&this.drawDataLabels()):g=!0);return g});q.column&&(q.column.prototype.alignDataLabel=function(a,b,c,e,n){var d=this.chart.inverted,f=a.series,g=a.dlBox||a.shapeArgs,m=t(a.below,a.plotY>t(this.translatedThreshold,
430
- f.yAxis.len)),p=t(c.inside,!!this.options.stacking);g&&(e=h(g),0>e.y&&(e.height+=e.y,e.y=0),g=e.y+e.height-f.yAxis.len,0<g&&(e.height-=g),d&&(e={x:f.yAxis.len-e.y-e.height,y:f.xAxis.len-e.x-e.width,width:e.height,height:e.width}),p||(d?(e.x+=m?0:e.width,e.width=0):(e.y+=m?e.height:0,e.height=0)));c.align=t(c.align,!d||p?"center":m?"right":"left");c.verticalAlign=t(c.verticalAlign,d||p?"middle":m?"top":"bottom");v.prototype.alignDataLabel.call(this,a,b,c,e,n);a.isLabelJustified&&a.contrastColor&&b.css({color:a.contrastColor})})});
431
- J(G,"modules/overlapping-datalabels.src.js",[G["parts/Globals.js"]],function(a){var B=a.Chart,y=a.isArray,C=a.objectEach,r=a.pick,h=a.addEvent,u=a.fireEvent;h(B,"render",function(){var a=[];(this.labelCollectors||[]).forEach(function(h){a=a.concat(h())});(this.yAxis||[]).forEach(function(h){h.options.stackLabels&&!h.options.stackLabels.allowOverlap&&C(h.stacks,function(h){C(h,function(h){a.push(h.label)})})});(this.series||[]).forEach(function(h){var v=h.options.dataLabels;h.visible&&(!1!==v.enabled||
432
- h._hasPointLabels)&&h.points.forEach(function(h){h.visible&&(y(h.dataLabels)?h.dataLabels:h.dataLabel?[h.dataLabel]:[]).forEach(function(l){var g=l.options;l.labelrank=r(g.labelrank,h.labelrank,h.shapeArgs&&h.shapeArgs.height);g.allowOverlap||a.push(l)})})});this.hideOverlappingLabels(a)});B.prototype.hideOverlappingLabels=function(a){var h=this,r=a.length,q=h.renderer,l,g,f,d,b,c,e=function(a,b,c,d,e,p,f,g){return!(e>a+c||e+f<a||p>b+d||p+g<b)};f=function(a){var b,c,d,e=a.box?0:a.padding||0;d=0;if(a&&
433
- (!a.alignAttr||a.placed))return b=a.alignAttr||{x:a.attr("x"),y:a.attr("y")},c=a.parentGroup,a.width||(d=a.getBBox(),a.width=d.width,a.height=d.height,d=q.fontMetrics(null,a.element).h),{x:b.x+(c.translateX||0)+e,y:b.y+(c.translateY||0)+e-d,width:a.width-2*e,height:a.height-2*e}};for(g=0;g<r;g++)if(l=a[g])l.oldOpacity=l.opacity,l.newOpacity=1,l.absoluteBox=f(l);a.sort(function(a,b){return(b.labelrank||0)-(a.labelrank||0)});for(g=0;g<r;g++)for(c=(f=a[g])&&f.absoluteBox,l=g+1;l<r;++l)if(b=(d=a[l])&&
434
- d.absoluteBox,c&&b&&f!==d&&0!==f.newOpacity&&0!==d.newOpacity&&(b=e(c.x,c.y,c.width,c.height,b.x,b.y,b.width,b.height)))(f.labelrank<d.labelrank?f:d).newOpacity=0;a.forEach(function(a){var b,c;a&&(c=a.newOpacity,a.oldOpacity!==c&&(a.alignAttr&&a.placed?(c?a.show(!0):b=function(){a.hide()},a.alignAttr.opacity=c,a[a.isOld?"animate":"attr"](a.alignAttr,null,b),u(h,"afterHideOverlappingLabels")):a.attr({opacity:c})),a.isOld=!0)})}});J(G,"parts/Interaction.js",[G["parts/Globals.js"]],function(a){var B=
435
- a.addEvent,y=a.Chart,C=a.createElement,r=a.css,h=a.defaultOptions,u=a.defaultPlotOptions,t=a.extend,x=a.fireEvent,v=a.hasTouch,q=a.isObject,l=a.Legend,g=a.merge,f=a.pick,d=a.Point,b=a.Series,c=a.seriesTypes,e=a.svg,n;n=a.TrackerMixin={drawTrackerPoint:function(){var a=this,b=a.chart,c=b.pointer,d=function(a){var b=c.getPointFromEvent(a);void 0!==b&&(c.isDirectTouch=!0,b.onMouseOver(a))};a.points.forEach(function(a){a.graphic&&(a.graphic.element.point=a);a.dataLabel&&(a.dataLabel.div?a.dataLabel.div.point=
436
- a:a.dataLabel.element.point=a)});a._hasTracking||(a.trackerGroups.forEach(function(e){if(a[e]){a[e].addClass("highcharts-tracker").on("mouseover",d).on("mouseout",function(a){c.onTrackerMouseOut(a)});if(v)a[e].on("touchstart",d);!b.styledMode&&a.options.cursor&&a[e].css(r).css({cursor:a.options.cursor})}}),a._hasTracking=!0);x(this,"afterDrawTracker")},drawTrackerGraph:function(){var a=this,b=a.options,c=b.trackByArea,d=[].concat(c?a.areaPath:a.graphPath),p=d.length,f=a.chart,n=f.pointer,g=f.renderer,
437
- l=f.options.tooltip.snap,k=a.tracker,h,q=function(){if(f.hoverSeries!==a)a.onMouseOver()},r="rgba(192,192,192,"+(e?.0001:.002)+")";if(p&&!c)for(h=p+1;h--;)"M"===d[h]&&d.splice(h+1,0,d[h+1]-l,d[h+2],"L"),(h&&"M"===d[h]||h===p)&&d.splice(h,0,"L",d[h-2]+l,d[h-1]);k?k.attr({d:d}):a.graph&&(a.tracker=g.path(d).attr({visibility:a.visible?"visible":"hidden",zIndex:2}).addClass(c?"highcharts-tracker-area":"highcharts-tracker-line").add(a.group),f.styledMode||a.tracker.attr({"stroke-linejoin":"round",stroke:r,
438
- fill:c?r:"none","stroke-width":a.graph.strokeWidth()+(c?0:2*l)}),[a.tracker,a.markerGroup].forEach(function(a){a.addClass("highcharts-tracker").on("mouseover",q).on("mouseout",function(a){n.onTrackerMouseOut(a)});b.cursor&&!f.styledMode&&a.css({cursor:b.cursor});if(v)a.on("touchstart",q)}));x(this,"afterDrawTracker")}};c.column&&(c.column.prototype.drawTracker=n.drawTrackerPoint);c.pie&&(c.pie.prototype.drawTracker=n.drawTrackerPoint);c.scatter&&(c.scatter.prototype.drawTracker=n.drawTrackerPoint);
439
- t(l.prototype,{setItemEvents:function(a,b,c){var e=this,f=e.chart.renderer.boxWrapper,n=a instanceof d,l="highcharts-legend-"+(n?"point":"series")+"-active",h=e.chart.styledMode;(c?b:a.legendGroup).on("mouseover",function(){e.allItems.forEach(function(b){a!==b&&b.setState("inactive",!n)});a.setState("hover");a.visible&&f.addClass(l);h||b.css(e.options.itemHoverStyle)}).on("mouseout",function(){e.styledMode||b.css(g(a.visible?e.itemStyle:e.itemHiddenStyle));e.allItems.forEach(function(b){a!==b&&b.setState("",
440
- !n)});f.removeClass(l);a.setState()}).on("click",function(b){var c=function(){a.setVisible&&a.setVisible()};f.removeClass(l);b={browserEvent:b};a.firePointEvent?a.firePointEvent("legendItemClick",b,c):x(a,"legendItemClick",b,c)})},createCheckboxForItem:function(a){a.checkbox=C("input",{type:"checkbox",className:"highcharts-legend-checkbox",checked:a.selected,defaultChecked:a.selected},this.options.itemCheckboxStyle,this.chart.container);B(a.checkbox,"click",function(b){x(a.series||a,"checkboxClick",
441
- {checked:b.target.checked,item:a},function(){a.select()})})}});t(y.prototype,{showResetZoom:function(){function a(){b.zoomOut()}var b=this,c=h.lang,d=b.options.chart.resetZoomButton,e=d.theme,f=e.states,n="chart"===d.relativeTo||"spaceBox"===d.relativeTo?null:"plotBox";x(this,"beforeShowResetZoom",null,function(){b.resetZoomButton=b.renderer.button(c.resetZoom,null,null,a,e,f&&f.hover).attr({align:d.position.align,title:c.resetZoomTitle}).addClass("highcharts-reset-zoom").add().align(d.position,!1,
442
- n)});x(this,"afterShowResetZoom")},zoomOut:function(){x(this,"selection",{resetSelection:!0},this.zoom)},zoom:function(b){var c=this,d,e=c.pointer,p=!1,n=c.inverted?e.mouseDownX:e.mouseDownY,g;!b||b.resetSelection?(c.axes.forEach(function(a){d=a.zoom()}),e.initiated=!1):b.xAxis.concat(b.yAxis).forEach(function(b){var m=b.axis,k=c.inverted?m.left:m.top,f=c.inverted?k+m.width:k+m.height,g=m.isXAxis,l=!1;if(!g&&n>=k&&n<=f||g||!a.defined(n))l=!0;e[g?"zoomX":"zoomY"]&&l&&(d=m.zoom(b.min,b.max),m.displayBtn&&
443
- (p=!0))});g=c.resetZoomButton;p&&!g?c.showResetZoom():!p&&q(g)&&(c.resetZoomButton=g.destroy());d&&c.redraw(f(c.options.chart.animation,b&&b.animation,100>c.pointCount))},pan:function(a,b){var c=this,d=c.hoverPoints,e;x(this,"pan",{originalEvent:a},function(){d&&d.forEach(function(a){a.setState()});("xy"===b?[1,0]:[1]).forEach(function(b){b=c[b?"xAxis":"yAxis"][0];var d=b.horiz,m=a[d?"chartX":"chartY"],d=d?"mouseDownX":"mouseDownY",f=c[d],k=(b.pointRange||0)/2,n=b.reversed&&!c.inverted||!b.reversed&&
444
- c.inverted?-1:1,p=b.getExtremes(),g=b.toValue(f-m,!0)+k*n,n=b.toValue(f+b.len-m,!0)-k*n,l=n<g,f=l?n:g,g=l?g:n,n=Math.min(p.dataMin,k?p.min:b.toValue(b.toPixels(p.min)-b.minPixelPadding)),k=Math.max(p.dataMax,k?p.max:b.toValue(b.toPixels(p.max)+b.minPixelPadding)),l=n-f;0<l&&(g+=l,f=n);l=g-k;0<l&&(g=k,f-=l);b.series.length&&f!==p.min&&g!==p.max&&(b.setExtremes(f,g,!1,!1,{trigger:"pan"}),e=!0);c[d]=m});e&&c.redraw(!1);r(c.container,{cursor:"move"})})}});t(d.prototype,{select:function(a,b){var c=this,
445
- d=c.series,e=d.chart;a=f(a,!c.selected);c.firePointEvent(a?"select":"unselect",{accumulate:b},function(){c.selected=c.options.selected=a;d.options.data[d.data.indexOf(c)]=c.options;c.setState(a&&"select");b||e.getSelectedPoints().forEach(function(a){var b=a.series;a.selected&&a!==c&&(a.selected=a.options.selected=!1,b.options.data[b.data.indexOf(a)]=a.options,a.setState(e.hoverPoints&&b.options.inactiveOtherPoints?"inactive":""),a.firePointEvent("unselect"))})})},onMouseOver:function(a){var b=this.series.chart,
446
- c=b.pointer;a=a?c.normalize(a):c.getChartCoordinatesFromPoint(this,b.inverted);c.runPointActions(a,this)},onMouseOut:function(){var a=this.series.chart;this.firePointEvent("mouseOut");this.series.options.inactiveOtherPoints||(a.hoverPoints||[]).forEach(function(a){a.setState()});a.hoverPoints=a.hoverPoint=null},importEvents:function(){if(!this.hasImportedEvents){var b=this,c=g(b.series.options.point,b.options).events;b.events=c;a.objectEach(c,function(a,c){B(b,c,a)});this.hasImportedEvents=!0}},setState:function(a,
447
- b){var c=Math.floor(this.plotX),d=this.plotY,e=this.series,n=this.state,g=e.options.states[a||"normal"]||{},l=u[e.type].marker&&e.options.marker,h=l&&!1===l.enabled,k=l&&l.states&&l.states[a||"normal"]||{},q=!1===k.enabled,w=e.stateMarkerGraphic,r=this.marker||{},z=e.chart,v=e.halo,y,B,C,G=l&&e.markerAttribs;a=a||"";if(!(a===this.state&&!b||this.selected&&"select"!==a||!1===g.enabled||a&&(q||h&&!1===k.enabled)||a&&r.states&&r.states[a]&&!1===r.states[a].enabled)){this.state=a;G&&(y=e.markerAttribs(this,
448
- a));if(this.graphic)n&&this.graphic.removeClass("highcharts-point-"+n),a&&this.graphic.addClass("highcharts-point-"+a),z.styledMode||(B=e.pointAttribs(this,a),C=f(z.options.chart.animation,g.animation),e.options.inactiveOtherPoints&&((this.dataLabels||[]).forEach(function(a){a&&a.animate({opacity:B.opacity},C)}),this.connector&&this.connector.animate({opacity:B.opacity},C)),this.graphic.animate(B,C)),y&&this.graphic.animate(y,f(z.options.chart.animation,k.animation,l.animation)),w&&w.hide();else{if(a&&
449
- k){n=r.symbol||e.symbol;w&&w.currentSymbol!==n&&(w=w.destroy());if(w)w[b?"animate":"attr"]({x:y.x,y:y.y});else n&&(e.stateMarkerGraphic=w=z.renderer.symbol(n,y.x,y.y,y.width,y.height).add(e.markerGroup),w.currentSymbol=n);!z.styledMode&&w&&w.attr(e.pointAttribs(this,a))}w&&(w[a&&z.isInsidePlot(c,d,z.inverted)?"show":"hide"](),w.element.point=this)}(a=g.halo)&&a.size?(v||(e.halo=v=z.renderer.path().add((this.graphic||w).parentGroup)),v.show()[b?"animate":"attr"]({d:this.haloPath(a.size)}),v.attr({"class":"highcharts-halo highcharts-color-"+
450
- f(this.colorIndex,e.colorIndex)+(this.className?" "+this.className:""),zIndex:-1}),v.point=this,z.styledMode||v.attr(t({fill:this.color||e.color,"fill-opacity":a.opacity},a.attributes))):v&&v.point&&v.point.haloPath&&v.animate({d:v.point.haloPath(0)},null,v.hide);x(this,"afterSetState")}},haloPath:function(a){return this.series.chart.renderer.symbols.circle(Math.floor(this.plotX)-a,this.plotY-a,2*a,2*a)}});t(b.prototype,{onMouseOver:function(){var a=this.chart,b=a.hoverSeries;if(b&&b!==this)b.onMouseOut();
451
- this.options.events.mouseOver&&x(this,"mouseOver");this.setState("hover");a.hoverSeries=this},onMouseOut:function(){var a=this.options,b=this.chart,c=b.tooltip,d=b.hoverPoint;b.hoverSeries=null;if(d)d.onMouseOut();this&&a.events.mouseOut&&x(this,"mouseOut");!c||this.stickyTracking||c.shared&&!this.noSharedTooltip||c.hide();b.series.forEach(function(a){a.setState("",!0)})},setState:function(a,b){var c=this,d=c.options,e=c.graph,n=d.inactiveOtherPoints,g=d.states,l=d.lineWidth,h=d.opacity,k=f(g[a||
452
- "normal"]&&g[a||"normal"].animation,c.chart.options.chart.animation),d=0;a=a||"";if(c.state!==a&&([c.group,c.markerGroup,c.dataLabelsGroup].forEach(function(b){b&&(c.state&&b.removeClass("highcharts-series-"+c.state),a&&b.addClass("highcharts-series-"+a))}),c.state=a,!c.chart.styledMode)){if(g[a]&&!1===g[a].enabled)return;a&&(l=g[a].lineWidth||l+(g[a].lineWidthPlus||0),h=f(g[a].opacity,h));if(e&&!e.dashstyle)for(g={"stroke-width":l},e.animate(g,k);c["zone-graph-"+d];)c["zone-graph-"+d].attr(g),d+=
453
- 1;n||[c.group,c.markerGroup,c.dataLabelsGroup,c.labelBySeries].forEach(function(a){a&&a.animate({opacity:h},k)})}b&&n&&c.points&&c.points.forEach(function(b){b.setState&&b.setState(a)})},setVisible:function(a,b){var c=this,d=c.chart,e=c.legendItem,f,n=d.options.chart.ignoreHiddenSeries,g=c.visible;f=(c.visible=a=c.options.visible=c.userOptions.visible=void 0===a?!g:a)?"show":"hide";["group","dataLabelsGroup","markerGroup","tracker","tt"].forEach(function(a){if(c[a])c[a][f]()});if(d.hoverSeries===
454
- c||(d.hoverPoint&&d.hoverPoint.series)===c)c.onMouseOut();e&&d.legend.colorizeItem(c,a);c.isDirty=!0;c.options.stacking&&d.series.forEach(function(a){a.options.stacking&&a.visible&&(a.isDirty=!0)});c.linkedSeries.forEach(function(b){b.setVisible(a,!1)});n&&(d.isDirtyBox=!0);x(c,f);!1!==b&&d.redraw()},show:function(){this.setVisible(!0)},hide:function(){this.setVisible(!1)},select:function(a){this.selected=a=this.options.selected=void 0===a?!this.selected:a;this.checkbox&&(this.checkbox.checked=a);
455
- x(this,a?"select":"unselect")},drawTracker:n.drawTrackerGraph})});J(G,"parts/Responsive.js",[G["parts/Globals.js"]],function(a){var B=a.Chart,y=a.isArray,C=a.isObject,r=a.pick,h=a.splat;B.prototype.setResponsive=function(h,r){var t=this.options.responsive,v=[],q=this.currentResponsive;!r&&t&&t.rules&&t.rules.forEach(function(l){void 0===l._id&&(l._id=a.uniqueKey());this.matchResponsiveRule(l,v,h)},this);r=a.merge.apply(0,v.map(function(l){return a.find(t.rules,function(a){return a._id===l}).chartOptions}));
456
- r.isResponsiveOptions=!0;v=v.toString()||void 0;v!==(q&&q.ruleIds)&&(q&&this.update(q.undoOptions,h),v?(q=this.currentOptions(r),q.isResponsiveOptions=!0,this.currentResponsive={ruleIds:v,mergedOptions:r,undoOptions:q},this.update(r,h)):this.currentResponsive=void 0)};B.prototype.matchResponsiveRule=function(a,h){var t=a.condition;(t.callback||function(){return this.chartWidth<=r(t.maxWidth,Number.MAX_VALUE)&&this.chartHeight<=r(t.maxHeight,Number.MAX_VALUE)&&this.chartWidth>=r(t.minWidth,0)&&this.chartHeight>=
457
- r(t.minHeight,0)}).call(this)&&h.push(a._id)};B.prototype.currentOptions=function(u){function t(v,q,l,g){var f;a.objectEach(v,function(a,b){if(!g&&-1<["series","xAxis","yAxis"].indexOf(b))for(a=h(a),l[b]=[],f=0;f<a.length;f++)q[b][f]&&(l[b][f]={},t(a[f],q[b][f],l[b][f],g+1));else C(a)?(l[b]=y(a)?[]:{},t(a,q[b]||{},l[b],g+1)):l[b]=r(q[b],null)})}var x={};t(u,this.options,x,0);return x}});J(G,"masters/highcharts.src.js",[G["parts/Globals.js"]],function(a){return a});J(G,"parts-gantt/CurrentDateIndicator.js",
458
- [G["parts/Globals.js"]],function(a){var B=a.addEvent,y=a.PlotLineOrBand,C=a.merge,r={currentDateIndicator:!0,color:"#ccd6eb",width:2,label:{format:"%a, %b %d %Y, %H:%M",formatter:void 0,rotation:0,style:{fontSize:"10px"}}};B(a.Axis,"afterSetOptions",function(){var a=this.options,u=a.currentDateIndicator;u&&("object"===typeof u?(u.label&&u.label.format&&(u.label.formatter=void 0),u=C(r,u)):u=C(r),u.value=new Date,a.plotLines||(a.plotLines=[]),a.plotLines.push(u))});B(y,"render",function(){var h=this.options,
459
- r,t;h.currentDateIndicator&&h.label&&(r=h.label.format,t=h.label.formatter,h.value=new Date,h.label.text="function"===typeof t?t(this):a.dateFormat(r,new Date),this.label&&this.label.attr({text:h.label.text}))})});J(G,"parts-gantt/GridAxis.js",[G["parts/Globals.js"]],function(a){var B=a.addEvent,y=a.dateFormat,C=a.defined,r=a.isArray,h=a.isNumber,u=function(f){return a.isObject(f,!0)},t=a.merge,x=a.pick,v=a.wrap,q=a.Axis,l=a.Tick,g={top:0,right:1,bottom:2,left:3,0:"top",1:"right",2:"bottom",3:"left"};
460
- q.prototype.isNavigatorAxis=function(){return/highcharts-navigator-[xy]axis/.test(this.options.className)};q.prototype.isOuterAxis=function(){var a=this,d=-1,b=!0;a.chart.axes.forEach(function(c,e){c.side!==a.side||c.isNavigatorAxis()||(c===a?d=e:0<=d&&e>d&&(b=!1))});return b};q.prototype.getMaxLabelDimensions=function(a,d){var b={width:0,height:0};d.forEach(function(c){c=a[c];var d;u(c)&&(d=u(c.label)?c.label:{},c=d.getBBox?d.getBBox().height:0,d=h(d.textPxLength)?d.textPxLength:0,b.height=Math.max(c,
461
- b.height),b.width=Math.max(d,b.width))});return b};a.dateFormats.W=function(a){a=new Date(a);var d;a.setHours(0,0,0,0);a.setDate(a.getDate()-(a.getDay()||7));d=new Date(a.getFullYear(),0,1);return Math.ceil(((a-d)/864E5+1)/7)};a.dateFormats.E=function(a){return y("%a",a,!0).charAt(0)};B(l,"afterGetLabelPosition",function(a){var d=this.label,b=this.axis,c=b.reversed,e=b.chart,n=b.options,f=n&&u(n.grid)?n.grid:{},n=b.options.labels,l=n.align,q=g[b.side],m=a.tickmarkOffset,p=b.tickPositions,v=this.pos-
462
- m,p=h(p[a.index+1])?p[a.index+1]-m:b.max+m,t=b.tickSize("tick",!0),m=r(t)?t[0]:0,t=t&&t[1]/2,x;!0===f.enabled&&("top"===q?(f=b.top+b.offset,x=f-m):"bottom"===q?(x=e.chartHeight-b.bottom+b.offset,f=x+m):(f=b.top+b.len-b.translate(c?p:v),x=b.top+b.len-b.translate(c?v:p)),"right"===q?(q=e.chartWidth-b.right+b.offset,c=q+m):"left"===q?(c=b.left+b.offset,q=c-m):(q=Math.round(b.left+b.translate(c?p:v))-t,c=Math.round(b.left+b.translate(c?v:p))-t),this.slotWidth=c-q,a.pos.x="left"===l?q:"right"===l?c:q+
463
- (c-q)/2,a.pos.y=x+(f-x)/2,e=e.renderer.fontMetrics(n.style.fontSize,d.element),d=d.getBBox().height,n.useHTML?a.pos.y+=e.b+-(d/2):(d=Math.round(d/e.h),a.pos.y+=(e.b-(e.h-e.f))/2+-((d-1)*e.h/2)),a.pos.x+=b.horiz&&n.x||0)});B(q,"afterTickSize",function(a){var d=this.maxLabelDimensions,b=this.options;!0===(b&&u(b.grid)?b.grid:{}).enabled&&(b=2*Math.abs(this.defaultLeftAxisOptions.labels.x),d=b+(this.horiz?d.height:d.width),r(a.tickSize)?a.tickSize[0]=d:a.tickSize=[d])});B(q,"afterGetTitlePosition",function(a){var d=
464
- this.options;if(!0===(d&&u(d.grid)?d.grid:{}).enabled){var b=this.axisTitle,c=b&&b.getBBox().width,e=this.horiz,n=this.left,f=this.top,l=this.width,h=this.height,m=d.title,d=this.opposite,p=this.offset,q=this.tickSize()||[0],r=m.x||0,v=m.y||0,t=x(m.margin,e?5:10),b=this.chart.renderer.fontMetrics(m.style&&m.style.fontSize,b).f,q=(e?f+h:n)+q[0]/2*(d?-1:1)*(e?1:-1)+(this.side===g.bottom?b:0);a.titlePosition.x=e?n-c/2-t+r:q+(d?l:0)+p+r;a.titlePosition.y=e?q-(d?h:0)+(d?b:-b)/2+p+v:f-t+v}});v(q.prototype,
465
- "unsquish",function(a){var d=this.options;return!0===(d&&u(d.grid)?d.grid:{}).enabled&&this.categories?this.tickInterval:a.apply(this,Array.prototype.slice.call(arguments,1))});B(q,"afterSetOptions",function(f){var d=this.options;f=f.userOptions;var b,c=d&&u(d.grid)?d.grid:{};!0===c.enabled&&(b=t(!0,{className:"highcharts-grid-axis "+(f.className||""),dateTimeLabelFormats:{hour:{list:["%H:%M","%H"]},day:{list:["%A, %e. %B","%a, %e. %b","%E"]},week:{list:["Week %W","W%W"]},month:{list:["%B","%b","%o"]}},
466
- grid:{borderWidth:1},labels:{padding:2,style:{fontSize:"13px"}},margin:0,title:{text:null,reserveSpace:!1,rotation:0},units:[["millisecond",[1,10,100]],["second",[1,10]],["minute",[1,5,15]],["hour",[1,6]],["day",[1]],["week",[1]],["month",[1]],["year",null]]},f),"xAxis"===this.coll&&(C(f.linkedTo)&&!C(f.tickPixelInterval)&&(b.tickPixelInterval=350),C(f.tickPixelInterval)||!C(f.linkedTo)||C(f.tickPositioner)||C(f.tickInterval)||(b.tickPositioner=function(c,d){var e=this.linkedParent&&this.linkedParent.tickPositions&&
467
- this.linkedParent.tickPositions.info;if(e){var n,f,m,p,g=b.units;for(p=0;p<g.length;p++)if(g[p][0]===e.unitName){n=p;break}if(g[n][1])return g[n+1]&&(m=g[n+1][0],f=(g[n+1][1]||[1])[0]),e=a.timeUnits[m],this.tickInterval=e*f,this.getTimeTicks({unitRange:e,count:f,unitName:m},c,d,this.options.startOfWeek)}})),t(!0,this.options,b),this.horiz&&(d.minPadding=x(f.minPadding,0),d.maxPadding=x(f.maxPadding,0)),h(d.grid.borderWidth)&&(d.tickWidth=d.lineWidth=c.borderWidth))});B(q,"afterSetAxisTranslation",
468
- function(){var a=this.options,d=a&&u(a.grid)?a.grid:{},b=this.tickPositions&&this.tickPositions.info,c=this.userOptions.labels||{};this.horiz&&(!0===d.enabled&&this.series.forEach(function(a){a.options.pointRange=0}),b&&(!1===a.dateTimeLabelFormats[b.unitName].range||1<b.count)&&!C(c.align)&&(a.labels.align="left",C(c.x)||(a.labels.x=3)))});B(q,"trimTicks",function(){var a=this.options,d=a&&u(a.grid)?a.grid:{},b=this.categories,c=this.tickPositions,e=c[0],n=c[c.length-1],g=this.linkedParent&&this.linkedParent.min||
469
- this.min,l=this.linkedParent&&this.linkedParent.max||this.max,h=this.tickInterval;!0!==d.enabled||b||!this.horiz&&!this.isLinked||((e>g||e<g&&e+h>g)&&!a.startOnTick&&(c[0]=g),(n<l||n>l&&n-h<l)&&!a.endOnTick&&(c[c.length-1]=l))});B(q,"afterRender",function(){var a=this.options,d=a&&u(a.grid)?a.grid:{},b,c,e,n,l,h,q=this.chart.renderer,m=this.horiz;if(!0===d.enabled&&(d=2*Math.abs(this.defaultLeftAxisOptions.labels.x),this.maxLabelDimensions=this.getMaxLabelDimensions(this.ticks,this.tickPositions),
470
- d=this.maxLabelDimensions.width+d,b=a.lineWidth,this.rightWall&&this.rightWall.destroy(),c=this.axisGroup.getBBox(),this.isOuterAxis()&&this.axisLine&&(m&&(d=c.height-1),b))){c=this.getLinePath(b);l=c.indexOf("M")+1;h=c.indexOf("L")+1;e=c.indexOf("M")+2;n=c.indexOf("L")+2;if(this.side===g.top||this.side===g.left)d=-d;m?(c[e]+=d,c[n]+=d):(c[l]+=d,c[h]+=d);this.axisLineExtra?this.axisLineExtra.animate({d:c}):this.axisLineExtra=q.path(c).attr({stroke:a.lineColor,"stroke-width":b,zIndex:7}).addClass("highcharts-axis-line").add(this.axisGroup);
471
- this.axisLine[this.showAxis?"show":"hide"](!0)}});B(q,"init",function(f){function d(){var a=b.options,c=25/11,d=b.chart.renderer.fontMetrics(a.labels.style.fontSize);a.labels||(a.labels={});a.labels.align=x(a.labels.align,"center");b.categories||(a.showLastLabel=!1);b.horiz&&(a.tickLength=e.cellHeight||d.h*c);b.labelRotation=0;a.labels.rotation=0}var b=this,c=b.chart,e=(f=f.userOptions)&&u(f.grid)?f.grid:{},n,g,l;if(e.enabled)if(C(e.borderColor)&&(f.tickColor=f.lineColor=e.borderColor),r(e.columns)){g=
472
- 0;for(l=e.columns.length;l--;)n=t(f,e.columns[l],{type:"category"}),delete n.grid.columns,n=new q(b.chart,n),n.isColumn=!0,n.columnIndex=g,v(n,"labelFormatter",function(b){var c=this.axis,d=c.tickPositions,e=this.value,n=e===d[0],d=e===d[d.length-1],f=a.find(c.series[0].options.data,function(a){return a[c.isXAxis?"x":"y"]===e});this.isFirst=n;this.isLast=d;this.point=f;return b.call(this)}),g++;B(this,"afterInit",function(){a.erase(c.axes,this);a.erase(c[b.coll],this)})}else B(this,"afterInit",d)})});
473
- J(G,"modules/static-scale.src.js",[G["parts/Globals.js"]],function(a){var B=a.Chart,y=a.pick;a.addEvent(a.Axis,"afterSetOptions",function(){this.horiz||!a.isNumber(this.options.staticScale)||this.chart.options.chart.height||(this.staticScale=this.options.staticScale)});B.prototype.adjustHeight=function(){"adjustHeight"!==this.redrawTrigger&&((this.axes||[]).forEach(function(B){var r=B.chart,h=!!r.initiatedScale&&r.options.animation,u=B.options.staticScale,t;B.staticScale&&a.defined(B.min)&&(t=y(B.unitLength,
474
- B.max+B.tickInterval-B.min)*u,t=Math.max(t,u),u=t-r.plotHeight,1<=Math.abs(u)&&(r.plotHeight=t,r.redrawTrigger="adjustHeight",r.setSize(void 0,r.chartHeight+u,h)),B.series.forEach(function(a){(a=a.sharedClipKey&&r[a.sharedClipKey])&&a.attr({height:r.plotHeight})}))}),this.initiatedScale=!0);this.redrawTrigger=null};a.addEvent(B,"render",B.prototype.adjustHeight)});J(G,"parts-gantt/Tree.js",[G["parts/Globals.js"]],function(a){var B=a.extend,y=a.isNumber,C=a.pick,r=function(a,h){var r=a.reduce(function(a,
475
- h){var l=C(h.parent,"");void 0===a[l]&&(a[l]=[]);a[l].push(h);return a},{});Object.keys(r).forEach(function(a,q){var l=r[a];""!==a&&-1===h.indexOf(a)&&(l.forEach(function(a){q[""].push(a)}),delete q[a])});return r},h=function(a,r,x,v,q,l){var g=0,f=0,d=l&&l.after,b=l&&l.before;r={data:v,depth:x-1,id:a,level:x,parent:r};var c,e;"function"===typeof b&&b(r,l);b=(q[a]||[]).map(function(b){var d=h(b.id,a,x+1,b,q,l),n=b.start;b=!0===b.milestone?n:b.end;c=!y(c)||n<c?n:c;e=!y(e)||b>e?b:e;g=g+1+d.descendants;
476
- f=Math.max(d.height+1,f);return d});v&&(v.start=C(v.start,c),v.end=C(v.end,e));B(r,{children:b,descendants:g,height:f});"function"===typeof d&&d(r,l);return r};return{getListOfParents:r,getNode:h,getTree:function(a,t){var u=a.map(function(a){return a.id});a=r(a,u);return h("",null,1,null,a,t)}}});J(G,"mixins/tree-series.js",[G["parts/Globals.js"]],function(a){var B=a.extend,y=a.isArray,C=a.isObject,r=a.isNumber,h=a.merge,u=a.pick;return{getColor:function(h,r){var v=r.index,q=r.mapOptionsToLevel,l=
477
- r.parentColor,g=r.parentColorIndex,f=r.series,d=r.colors,b=r.siblings,c=f.points,e=f.chart.options.chart,n,w,z,t;if(h){c=c[h.i];h=q[h.level]||{};if(q=c&&h.colorByPoint)w=c.index%(d?d.length:e.colorCount),n=d&&d[w];if(!f.chart.styledMode){d=c&&c.options.color;e=h&&h.color;if(z=l)z=(z=h&&h.colorVariation)&&"brightness"===z.key?a.color(l).brighten(v/b*z.to).get():l;z=u(d,e,n,z,f.color)}t=u(c&&c.options.colorIndex,h&&h.colorIndex,w,g,r.colorIndex)}return{color:z,colorIndex:t}},getLevelOptions:function(a){var t=
478
- null,v,q,l,g;if(C(a))for(t={},l=r(a.from)?a.from:1,g=a.levels,q={},v=C(a.defaults)?a.defaults:{},y(g)&&(q=g.reduce(function(a,d){var b,c;C(d)&&r(d.level)&&(c=h({},d),b="boolean"===typeof c.levelIsConstant?c.levelIsConstant:v.levelIsConstant,delete c.levelIsConstant,delete c.level,d=d.level+(b?0:l-1),C(a[d])?B(a[d],c):a[d]=c);return a},{})),g=r(a.to)?a.to:1,a=0;a<=g;a++)t[a]=h({},v,C(q[a])?q[a]:{});return t},setTreeValues:function x(a,h){var l=h.before,g=h.idRoot,f=h.mapIdToNode[g],d=h.points[a.i],
479
- b=d&&d.options||{},c=0,e=[];B(a,{levelDynamic:a.level-(("boolean"===typeof h.levelIsConstant?h.levelIsConstant:1)?0:f.level),name:u(d&&d.name,""),visible:g===a.id||("boolean"===typeof h.visible?h.visible:!1)});"function"===typeof l&&(a=l(a,h));a.children.forEach(function(b,d){var n=B({},h);B(n,{index:d,siblings:a.children.length,visible:a.visible});b=x(b,n);e.push(b);b.visible&&(c+=b.val)});a.visible=0<c||a.visible;l=u(b.value,c);B(a,{children:e,childrenTotal:c,isLeaf:a.visible&&!c,val:l});return a},
480
- updateRootId:function(a){var h;C(a)&&(h=C(a.options)?a.options:{},h=u(a.rootNode,h.rootId,""),C(a.userOptions)&&(a.userOptions.rootId=h),a.rootNode=h);return h}}});J(G,"modules/broken-axis.src.js",[G["parts/Globals.js"]],function(a){var B=a.addEvent,y=a.pick,C=a.extend,r=a.isArray,h=a.find,u=a.fireEvent,t=a.Axis,x=a.Series,v=function(a,l){return h(l,function(g){return g.from<a&&a<g.to})};C(t.prototype,{isInBreak:function(a,l){var g=a.repeat||Infinity,f=a.from,d=a.to-a.from;l=l>=f?(l-f)%g:g-(f-l)%
481
- g;return a.inclusive?l<=d:l<d&&0!==l},isInAnyBreak:function(a,l){var g=this.options.breaks,f=g&&g.length,d,b,c;if(f){for(;f--;)this.isInBreak(g[f],a)&&(d=!0,b||(b=y(g[f].showPoints,!this.isXAxis)));c=d&&l?d&&!b:d}return c}});B(t,"afterInit",function(){"function"===typeof this.setBreaks&&this.setBreaks(this.options.breaks,!1)});B(t,"afterSetTickPositions",function(){if(this.isBroken){var a=this.tickPositions,l=this.tickPositions.info,g=[],f;for(f=0;f<a.length;f++)this.isInAnyBreak(a[f])||g.push(a[f]);
482
- this.tickPositions=g;this.tickPositions.info=l}});B(t,"afterSetOptions",function(){this.isBroken&&(this.options.ordinal=!1)});t.prototype.setBreaks=function(a,l){function g(a){var b=a,c,f;for(f=0;f<d.breakArray.length;f++)if(c=d.breakArray[f],c.to<=a)b-=c.len;else if(c.from>=a)break;else if(d.isInBreak(c,a)){b-=a-c.from;break}return b}function f(a){var b,c;for(c=0;c<d.breakArray.length&&!(b=d.breakArray[c],b.from>=a);c++)b.to<a?a+=b.len:d.isInBreak(b,a)&&(a+=b.len);return a}var d=this,b=r(a)&&!!a.length;
483
- d.isDirty=d.isBroken!==b;d.isBroken=b;d.options.breaks=d.userOptions.breaks=a;d.forceRedraw=!0;b||d.val2lin!==g||(delete d.val2lin,delete d.lin2val);b&&(d.userOptions.ordinal=!1,d.val2lin=g,d.lin2val=f,d.setExtremes=function(a,b,d,f,g){if(this.isBroken){for(var c,e=this.options.breaks;c=v(a,e);)a=c.to;for(;c=v(b,e);)b=c.from;b<a&&(b=a)}t.prototype.setExtremes.call(this,a,b,d,f,g)},d.setAxisTranslation=function(a){t.prototype.setAxisTranslation.call(this,a);this.unitLength=null;if(this.isBroken){a=
484
- d.options.breaks;var b=[],c=[],f=0,g,l,m=d.userMin||d.min,p=d.userMax||d.max,h=y(d.pointRangePadding,0),q,r;a.forEach(function(a){l=a.repeat||Infinity;d.isInBreak(a,m)&&(m+=a.to%l-m%l);d.isInBreak(a,p)&&(p-=p%l-a.from%l)});a.forEach(function(a){q=a.from;for(l=a.repeat||Infinity;q-l>m;)q-=l;for(;q<m;)q+=l;for(r=q;r<p;r+=l)b.push({value:r,move:"in"}),b.push({value:r+(a.to-a.from),move:"out",size:a.breakSize})});b.sort(function(a,b){return a.value===b.value?("in"===a.move?0:1)-("in"===b.move?0:1):a.value-
485
- b.value});g=0;q=m;b.forEach(function(a){g+="in"===a.move?1:-1;1===g&&"in"===a.move&&(q=a.value);0===g&&(c.push({from:q,to:a.value,len:a.value-q-(a.size||0)}),f+=a.value-q-(a.size||0))});d.breakArray=c;d.unitLength=p-m-f+h;u(d,"afterBreaks");d.staticScale?d.transA=d.staticScale:d.unitLength&&(d.transA*=(p-d.min+h)/d.unitLength);h&&(d.minPixelPadding=d.transA*d.minPointOffset);d.min=m;d.max=p}});y(l,!0)&&this.chart.redraw()};B(x,"afterGeneratePoints",function(){var a=this.xAxis,l=this.yAxis,g=this.points,
486
- f,d=g.length,b=this.options.connectNulls,c;if(a&&l&&(a.options.breaks||l.options.breaks))for(;d--;)f=g[d],c=null===f.y&&!1===b,c||!a.isInAnyBreak(f.x,!0)&&!l.isInAnyBreak(f.y,!0)||(g.splice(d,1),this.data[d]&&this.data[d].destroyElements())});B(x,"afterRender",function(){this.drawBreaks(this.xAxis,["x"]);this.drawBreaks(this.yAxis,y(this.pointArrayMap,["y"]))});a.Series.prototype.drawBreaks=function(a,l){var g=this,f=g.points,d,b,c,e;a&&l.forEach(function(n){d=a.breakArray||[];b=a.isXAxis?a.min:y(g.options.threshold,
487
- a.min);f.forEach(function(f){e=y(f["stack"+n.toUpperCase()],f[n]);d.forEach(function(d){c=!1;if(b<d.from&&e>d.to||b>d.from&&e<d.from)c="pointBreak";else if(b<d.from&&e>d.from&&e<d.to||b>d.from&&e>d.to&&e<d.from)c="pointInBreak";c&&u(a,c,{point:f,brk:d})})})})};a.Series.prototype.gappedPath=function(){var h=this.currentDataGrouping,l=h&&h.gapSize,h=this.options.gapSize,g=this.points.slice(),f=g.length-1,d=this.yAxis;if(h&&0<f)for("value"!==this.options.gapUnit&&(h*=this.closestPointRange),l&&l>h&&
488
- (h=l);f--;)g[f+1].x-g[f].x>h&&(l=(g[f].x+g[f+1].x)/2,g.splice(f+1,0,{isNull:!0,x:l}),this.options.stacking&&(l=d.stacks[this.stackKey][l]=new a.StackItem(d,d.options.stackLabels,!1,l,this.stack),l.total=0));return this.getGraphPath(g)}});J(G,"parts-gantt/TreeGrid.js",[G["parts/Globals.js"],G["parts-gantt/Tree.js"],G["mixins/tree-series.js"]],function(a,B,y){var C=a.addEvent,r=function(a){return Array.prototype.slice.call(a,1)},h=a.defined,u=a.extend,t=a.find,x=a.fireEvent,v=y.getLevelOptions,q=a.merge,
489
- l=a.isNumber,g=function(b){return a.isObject(b,!0)},f=a.isString,d=a.pick,b=a.wrap;y=a.Axis;var c=a.Tick,e=function(a,c){var d,e;for(d in c)c.hasOwnProperty(d)&&(e=c[d],b(a,d,e))},n=function(a,b){var c=a.collapseStart;a=a.collapseEnd;a>=b&&(c-=.5);return{from:c,to:a,showPoints:!1}},w=function(a){return Object.keys(a.mapOfPosToGridNode).reduce(function(b,c){c=+c;a.min<=c&&a.max>=c&&!a.isInAnyBreak(c)&&b.push(c);return b},[])},z=function(a,b){var c=a.options.breaks||[],d=n(b,a.max);return c.some(function(a){return a.from===
490
- d.from&&a.to===d.to})},F=function(a,b){var c=a.options.breaks||[];a=n(b,a.max);c.push(a);return c},m=function(a,b){var c=a.options.breaks||[],d=n(b,a.max);return c.reduce(function(a,b){b.to===d.to&&b.from===d.from||a.push(b);return a},[])},p=function(b,c){var e=b.labelIcon,m=!e,n=c.renderer,f=c.xy,p=c.options,g=p.width,l=p.height,h=f.x-g/2-p.padding,f=f.y-l/2,q=c.collapsed?90:180,r=c.show&&a.isNumber(f);m&&(b.labelIcon=e=n.path(n.symbols[p.type](p.x,p.y,g,l)).addClass("highcharts-label-icon").add(c.group));
491
- r||e.attr({y:-9999});n.styledMode||e.attr({"stroke-width":1,fill:d(c.color,"#666666")}).css({cursor:"pointer",stroke:p.lineColor,strokeWidth:p.lineWidth});e[m?"attr":"animate"]({translateX:h,translateY:f,rotation:q})},A=function(a,b,c){var d=[],e=[],k={},m={},n=-1,p="boolean"===typeof b?b:!1;a=B.getTree(a,{after:function(a){a=m[a.pos];var b=0,c=0;a.children.forEach(function(a){c+=a.descendants+1;b=Math.max(a.height+1,b)});a.descendants=c;a.height=b;a.collapsed&&e.push(a)},before:function(a){var b=
492
- g(a.data)?a.data:{},c=f(b.name)?b.name:"",e=k[a.parent],e=g(e)?m[e.pos]:null,l=function(a){return a.name===c},h;p&&g(e)&&(h=t(e.children,l))?(l=h.pos,h.nodes.push(a)):l=n++;m[l]||(m[l]=h={depth:e?e.depth+1:0,name:c,nodes:[a],children:[],pos:l},-1!==l&&d.push(c),g(e)&&e.children.push(h));f(a.id)&&(k[a.id]=a);!0===b.collapsed&&(h.collapsed=!0);a.pos=l}});m=function(a,b){var c=function(a,d,e){var k=d+(-1===d?0:b-1),m=(k-d)/2,n=d+m;a.nodes.forEach(function(a){var b=a.data;g(b)&&(b.y=d+b.seriesIndex,delete b.seriesIndex);
493
- a.pos=n});e[n]=a;a.pos=n;a.tickmarkOffset=m+.5;a.collapseStart=k+.5;a.children.forEach(function(a){c(a,k+1,e);k=a.collapseEnd-.5});a.collapseEnd=k+.5;return e};return c(a["-1"],-1,{})}(m,c);return{categories:d,mapOfIdToNode:k,mapOfPosToGridNode:m,collapsedNodes:e,tree:a}},D=function(b){b.target.axes.filter(function(a){return"treegrid"===a.options.type}).forEach(function(b){var c=b.options||{},d=c.labels,e,m=c.uniqueNames,n=0,c=b.series.reduce(function(a,b){b.visible&&(b.options.data.forEach(function(b){g(b)&&
494
- (b.seriesIndex=n,a.push(b))}),!0===m&&n++);return a},[]),f=A(c,m,!0===m?n:1);b.categories=f.categories;b.mapOfPosToGridNode=f.mapOfPosToGridNode;b.hasNames=!0;b.tree=f.tree;b.series.forEach(function(a){var b=a.options.data.map(function(a){return g(a)?q(a):a});a.visible&&a.setData(b,!1)});b.mapOptionsToLevel=v({defaults:d,from:1,levels:d.levels,to:b.tree.height});e=a.addEvent(b,"foundExtremes",function(){f.collapsedNodes.forEach(function(a){a=F(b,a);b.setBreaks(a,!1)});e()})})};e(y.prototype,{init:function(a,
495
- b,c){var d="treegrid"===c.type;d&&(C(b,"beforeRender",D),C(b,"beforeRedraw",D),c=q({grid:{enabled:!0},labels:{align:"left",levels:[{level:void 0},{level:1,style:{fontWeight:"bold"}}],symbol:{type:"triangle",x:-5,y:-5,height:10,width:10,padding:5}},uniqueNames:!1},c,{reversed:!0,grid:{columns:void 0}}));a.apply(this,[b,c]);d&&(this.hasNames=!0,this.options.showLastLabel=!0)},getMaxLabelDimensions:function(a){var b=this.options,c=b&&b.labels,b=c&&l(c.indentation)?b.labels.indentation:0,c=a.apply(this,
496
- r(arguments)),d;"treegrid"===this.options.type&&this.mapOfPosToGridNode&&(d=this.mapOfPosToGridNode[-1].height,c.width+=b*(d-1));return c},generateTick:function(a,b){var d=g(this.mapOptionsToLevel)?this.mapOptionsToLevel:{},e=this.ticks,m=e[b],n,f;"treegrid"===this.options.type?(f=this.mapOfPosToGridNode[b],(d=d[f.depth])&&(n={labels:d}),m?(m.parameters.category=f.name,m.options=n,m.addLabel()):e[b]=new c(this,b,null,void 0,{category:f.name,tickmarkOffset:f.tickmarkOffset,options:n})):a.apply(this,
497
- r(arguments))},setTickInterval:function(a){var b=this.options;"treegrid"===b.type?(this.min=d(this.userMin,b.min,this.dataMin),this.max=d(this.userMax,b.max,this.dataMax),x(this,"foundExtremes"),this.setAxisTranslation(!0),this.tickmarkOffset=.5,this.tickInterval=1,this.tickPositions=this.mapOfPosToGridNode?w(this):[]):a.apply(this,r(arguments))}});e(c.prototype,{getLabelPosition:function(a,b,c,e,m,n,f,p,h){var k=d(this.options&&this.options.labels,n);n=this.pos;var q=this.axis,r="treegrid"===q.options.type;
498
- a=a.apply(this,[b,c,e,m,k,f,p,h]);r&&(b=k&&g(k.symbol)?k.symbol:{},k=k&&l(k.indentation)?k.indentation:0,n=(n=(q=q.mapOfPosToGridNode)&&q[n])&&n.depth||1,a.x+=b.width+2*b.padding+(n-1)*k);return a},renderLabel:function(b){var c=this,e=c.pos,m=c.axis,n=c.label,f=m.mapOfPosToGridNode,l=m.options,q=d(c.options&&c.options.labels,l&&l.labels),w=q&&g(q.symbol)?q.symbol:{},v=(f=f&&f[e])&&f.depth,l="treegrid"===l.type,A=!(!n||!n.element),t=-1<m.tickPositions.indexOf(e),e=m.chart.styledMode;l&&f&&A&&n.addClass("highcharts-treegrid-node-level-"+
499
- v);b.apply(c,r(arguments));l&&f&&A&&0<f.descendants&&(m=z(m,f),p(c,{color:!e&&n.styles.color,collapsed:m,group:n.parentGroup,options:w,renderer:n.renderer,show:t,xy:n.xy}),w="highcharts-treegrid-node-"+(m?"expanded":"collapsed"),n.addClass("highcharts-treegrid-node-"+(m?"collapsed":"expanded")).removeClass(w),e||n.css({cursor:"pointer"}),[n,c.labelIcon].forEach(function(b){b.attachedTreeGridEvents||(a.addEvent(b.element,"mouseover",function(){var a=n;a.addClass("highcharts-treegrid-node-active");
500
- a.renderer.styledMode||a.css({textDecoration:"underline"})}),a.addEvent(b.element,"mouseout",function(){var a=n,b=q,b=h(b.style)?b.style:{};a.removeClass("highcharts-treegrid-node-active");a.renderer.styledMode||a.css({textDecoration:b.textDecoration})}),a.addEvent(b.element,"click",function(){c.toggleCollapse()}),b.attachedTreeGridEvents=!0)}))}});u(c.prototype,{collapse:function(a){var b=this.axis,c=F(b,b.mapOfPosToGridNode[this.pos]);b.setBreaks(c,d(a,!0))},expand:function(a){var b=this.axis,c=
501
- m(b,b.mapOfPosToGridNode[this.pos]);b.setBreaks(c,d(a,!0))},toggleCollapse:function(a){var b=this.axis,c;c=b.mapOfPosToGridNode[this.pos];c=z(b,c)?m(b,c):F(b,c);b.setBreaks(c,d(a,!0))}});y.prototype.utils={getNode:B.getNode}});J(G,"parts-gantt/PathfinderAlgorithms.js",[G["parts/Globals.js"]],function(a){function B(a,h,l){l=l||0;var g=a.length-1;h-=1e-7;for(var f,d;l<=g;)if(f=g+l>>1,d=h-a[f].xMin,0<d)l=f+1;else if(0>d)g=f-1;else return f;return 0<l?l-1:0}function y(a,h){for(var l=B(a,h.x+1)+1;l--;){var g;
502
- if(g=a[l].xMax>=h.x)g=a[l],g=h.x<=g.xMax&&h.x>=g.xMin&&h.y<=g.yMax&&h.y>=g.yMin;if(g)return l}return-1}function C(a){var h=[];if(a.length){h.push("M",a[0].start.x,a[0].start.y);for(var l=0;l<a.length;++l)h.push("L",a[l].end.x,a[l].end.y)}return h}function r(a,q){a.yMin=u(a.yMin,q.yMin);a.yMax=h(a.yMax,q.yMax);a.xMin=u(a.xMin,q.xMin);a.xMax=h(a.xMax,q.xMax)}var h=Math.min,u=Math.max,t=Math.abs,x=a.pick;return{straight:function(a,h){return{path:["M",a.x,a.y,"L",h.x,h.y],obstacles:[{start:a,end:h}]}},
503
- simpleConnect:a.extend(function(a,h,l){function g(a,b,c,d,e){a={x:a.x,y:a.y};a[b]=c[d||b]+(e||0);return a}function f(a,b,c){var d=t(b[c]-a[c+"Min"])>t(b[c]-a[c+"Max"]);return g(b,c,a,c+(d?"Max":"Min"),d?1:-1)}var d=[],b,c=x(l.startDirectionX,t(h.x-a.x)>t(h.y-a.y))?"x":"y",e=l.chartObstacles,n=y(e,a);l=y(e,h);var q;-1<l?(b=e[l],l=f(b,h,c),b={start:l,end:h},q=l):q=h;-1<n&&(e=e[n],l=f(e,a,c),d.push({start:a,end:l}),l[c]>a[c]===l[c]>q[c]&&(c="y"===c?"x":"y",h=a[c]<h[c],d.push({start:l,end:g(l,c,e,c+(h?
504
- "Max":"Min"),h?1:-1)}),c="y"===c?"x":"y"));a=d.length?d[d.length-1].end:a;l=g(a,c,q);d.push({start:a,end:l});c=g(l,"y"===c?"x":"y",q);d.push({start:l,end:c});d.push(b);return{path:C(d),obstacles:d}},{requiresObstacles:!0}),fastAvoid:a.extend(function(a,q,l){function g(a,b,c){var d,e,m,k,n,f=a.x<b.x?1:-1;a.x<b.x?(d=a,e=b):(d=b,e=a);a.y<b.y?(k=a,m=b):(k=b,m=a);for(n=0>f?h(B(E,e.x),E.length-1):0;E[n]&&(0<f&&E[n].xMin<=e.x||0>f&&E[n].xMax>=d.x);){if(E[n].xMin<=e.x&&E[n].xMax>=d.x&&E[n].yMin<=m.y&&E[n].yMax>=
505
- k.y)return c?{y:a.y,x:a.x<b.x?E[n].xMin-1:E[n].xMax+1,obstacle:E[n]}:{x:a.x,y:a.y<b.y?E[n].yMin-1:E[n].yMax+1,obstacle:E[n]};n+=f}return b}function f(a,b,c,d,e){var m=e.soft,n=e.hard,k=d?"x":"y",f={x:b.x,y:b.y},p={x:b.x,y:b.y};e=a[k+"Max"]>=m[k+"Max"];var m=a[k+"Min"]<=m[k+"Min"],h=a[k+"Max"]>=n[k+"Max"],n=a[k+"Min"]<=n[k+"Min"],l=t(a[k+"Min"]-b[k]),q=t(a[k+"Max"]-b[k]);c=10>t(l-q)?b[k]<c[k]:q<l;p[k]=a[k+"Min"];f[k]=a[k+"Max"];a=g(b,p,d)[k]!==p[k];b=g(b,f,d)[k]!==f[k];c=a?b?c:!0:b?!1:c;c=m?e?c:!0:
506
- e?!1:c;return n?h?c:!0:h?!1:c}function d(a,b,c){if(a.x===b.x&&a.y===b.y)return[];var e=c?"x":"y",m,n,k,q,w=l.obstacleOptions.margin;m={soft:{xMin:p,xMax:A,yMin:D,yMax:H},hard:l.hardBounds};n=y(E,a);-1<n?(n=E[n],m=f(n,a,b,c,m),r(n,l.hardBounds),q=c?{y:a.y,x:n[m?"xMax":"xMin"]+(m?1:-1)}:{x:a.x,y:n[m?"yMax":"yMin"]+(m?1:-1)},k=y(E,q),-1<k&&(k=E[k],r(k,l.hardBounds),q[e]=m?u(n[e+"Max"]-w+1,(k[e+"Min"]+n[e+"Max"])/2):h(n[e+"Min"]+w-1,(k[e+"Max"]+n[e+"Min"])/2),a.x===q.x&&a.y===q.y?(v&&(q[e]=m?u(n[e+"Max"],
507
- k[e+"Max"])+1:h(n[e+"Min"],k[e+"Min"])-1),v=!v):v=!1),a=[{start:a,end:q}]):(e=g(a,{x:c?b.x:a.x,y:c?a.y:b.y},c),a=[{start:a,end:{x:e.x,y:e.y}}],e[c?"x":"y"]!==b[c?"x":"y"]&&(m=f(e.obstacle,e,b,!c,m),r(e.obstacle,l.hardBounds),m={x:c?e.x:e.obstacle[m?"xMax":"xMin"]+(m?1:-1),y:c?e.obstacle[m?"yMax":"yMin"]+(m?1:-1):e.y},c=!c,a=a.concat(d({x:e.x,y:e.y},m,c))));return a=a.concat(d(a[a.length-1].end,b,!c))}function b(a,b,c){var d=h(a.xMax-b.x,b.x-a.xMin)<h(a.yMax-b.y,b.y-a.yMin);c=f(a,b,c,d,{soft:l.hardBounds,
508
- hard:l.hardBounds});return d?{y:b.y,x:a[c?"xMax":"xMin"]+(c?1:-1)}:{x:b.x,y:a[c?"yMax":"yMin"]+(c?1:-1)}}var c=x(l.startDirectionX,t(q.x-a.x)>t(q.y-a.y)),e=c?"x":"y",n,w,z=[],v=!1,m=l.obstacleMetrics,p=h(a.x,q.x)-m.maxWidth-10,A=u(a.x,q.x)+m.maxWidth+10,D=h(a.y,q.y)-m.maxHeight-10,H=u(a.y,q.y)+m.maxHeight+10,E=l.chartObstacles;n=B(E,p);m=B(E,A);E=E.slice(n,m+1);-1<(m=y(E,q))&&(w=b(E[m],q,a),z.push({end:q,start:w}),q=w);for(;-1<(m=y(E,q));)n=0>q[e]-a[e],w={x:q.x,y:q.y},w[e]=E[m][n?e+"Max":e+"Min"]+
509
- (n?1:-1),z.push({end:q,start:w}),q=w;a=d(a,q,c);a=a.concat(z.reverse());return{path:C(a),obstacles:a}},{requiresObstacles:!0})}});J(G,"parts-gantt/ArrowSymbols.js",[G["parts/Globals.js"]],function(a){a.SVGRenderer.prototype.symbols.arrow=function(a,y,C,r){return["M",a,y+r/2,"L",a+C,y,"L",a,y+r/2,"L",a+C,y+r]};a.SVGRenderer.prototype.symbols["arrow-half"]=function(B,y,C,r){return a.SVGRenderer.prototype.symbols.arrow(B,y,C/2,r)};a.SVGRenderer.prototype.symbols["triangle-left"]=function(a,y,C,r){return["M",
510
- a+C,y,"L",a,y+r/2,"L",a+C,y+r,"Z"]};a.SVGRenderer.prototype.symbols["arrow-filled"]=a.SVGRenderer.prototype.symbols["triangle-left"];a.SVGRenderer.prototype.symbols["triangle-left-half"]=function(B,y,C,r){return a.SVGRenderer.prototype.symbols["triangle-left"](B,y,C/2,r)};a.SVGRenderer.prototype.symbols["arrow-filled-half"]=a.SVGRenderer.prototype.symbols["triangle-left-half"]});J(G,"parts-gantt/Pathfinder.js",[G["parts/Globals.js"],G["parts-gantt/PathfinderAlgorithms.js"]],function(a,B){function y(a){var b=
511
- a.shapeArgs;return b?{xMin:b.x,xMax:b.x+b.width,yMin:b.y,yMax:b.y+b.height}:(b=a.graphic&&a.graphic.getBBox())?{xMin:a.plotX-b.width/2,xMax:a.plotX+b.width/2,yMin:a.plotY-b.height/2,yMax:a.plotY+b.height/2}:null}function C(a){for(var b=a.length,e=0,n,h,l=[],q=function(a,b,c){c=g(c,10);var e=a.yMax+c>b.yMin-c&&a.yMin-c<b.yMax+c,m=a.xMax+c>b.xMin-c&&a.xMin-c<b.xMax+c,n=e?a.xMin>b.xMax?a.xMin-b.xMax:b.xMin-a.xMax:Infinity,k=m?a.yMin>b.yMax?a.yMin-b.yMax:b.yMin-a.yMax:Infinity;return m&&e?c?q(a,b,Math.floor(c/
512
- 2)):Infinity:d(n,k)};e<b;++e)for(n=e+1;n<b;++n)h=q(a[e],a[n]),80>h&&l.push(h);l.push(80);return f(Math.floor(l.sort(function(a,b){return a-b})[Math.floor(l.length/10)]/2-1),1)}function r(a,c,d){this.init(a,c,d)}function h(a){this.init(a)}function u(b){if(b.options.pathfinder||b.series.reduce(function(a,b){b.options&&l(!0,b.options.connectors=b.options.connectors||{},b.options.pathfinder);return a||b.options&&b.options.pathfinder},!1))l(!0,b.options.connectors=b.options.connectors||{},b.options.pathfinder),
513
- a.error('WARNING: Pathfinder options have been renamed. Use "chart.connectors" or "series.connectors" instead.')}var t=a.defined,x=a.deg2rad,v=a.extend,q=a.addEvent,l=a.merge,g=a.pick,f=Math.max,d=Math.min;v(a.defaultOptions,{connectors:{type:"straight",lineWidth:1,marker:{enabled:!1,align:"center",verticalAlign:"middle",inside:!1,lineWidth:1},startMarker:{symbol:"diamond"},endMarker:{symbol:"arrow-filled"}}});r.prototype={init:function(a,c,d){this.fromPoint=a;this.toPoint=c;this.options=d;this.chart=
514
- a.series.chart;this.pathfinder=this.chart.pathfinder},renderPath:function(a,c,d){var b=this.chart,e=b.styledMode,f=b.pathfinder,g=!b.options.chart.forExport&&!1!==d,m=this.graphics&&this.graphics.path;f.group||(f.group=b.renderer.g().addClass("highcharts-pathfinder-group").attr({zIndex:-1}).add(b.seriesGroup));f.group.translate(b.plotLeft,b.plotTop);m&&m.renderer||(m=b.renderer.path().add(f.group),e||m.attr({opacity:0}));m.attr(c);a={d:a};e||(a.opacity=1);m[g?"animate":"attr"](a,d);this.graphics=
515
- this.graphics||{};this.graphics.path=m},addMarker:function(a,c,d){var b=this.fromPoint.series.chart,e=b.pathfinder,b=b.renderer,f="start"===a?this.fromPoint:this.toPoint,g=f.getPathfinderAnchorPoint(c),m,p;c.enabled&&(d="start"===a?{x:d[4],y:d[5]}:{x:d[d.length-5],y:d[d.length-4]},d=f.getRadiansToVector(d,g),g=f.getMarkerVector(d,c.radius,g),d=-d/x,c.width&&c.height?(m=c.width,p=c.height):m=p=2*c.radius,this.graphics=this.graphics||{},g={x:g.x-m/2,y:g.y-p/2,width:m,height:p,rotation:d,rotationOriginX:g.x,
516
- rotationOriginY:g.y},this.graphics[a]?this.graphics[a].animate(g):(this.graphics[a]=b.symbol(c.symbol).addClass("highcharts-point-connecting-path-"+a+"-marker").attr(g).add(e.group),b.styledMode||this.graphics[a].attr({fill:c.color||this.fromPoint.color,stroke:c.lineColor,"stroke-width":c.lineWidth,opacity:0}).animate({opacity:1},f.series.options.animation)))},getPath:function(b){var c=this.pathfinder,d=this.chart,n=c.algorithms[b.type],f=c.chartObstacles;if("function"!==typeof n)a.error('"'+b.type+
517
- '" is not a Pathfinder algorithm.');else return n.requiresObstacles&&!f&&(f=c.chartObstacles=c.getChartObstacles(b),d.options.connectors.algorithmMargin=b.algorithmMargin,c.chartObstacleMetrics=c.getObstacleMetrics(f)),n(this.fromPoint.getPathfinderAnchorPoint(b.startMarker),this.toPoint.getPathfinderAnchorPoint(b.endMarker),l({chartObstacles:f,lineObstacles:c.lineObstacles||[],obstacleMetrics:c.chartObstacleMetrics,hardBounds:{xMin:0,xMax:d.plotWidth,yMin:0,yMax:d.plotHeight},obstacleOptions:{margin:b.algorithmMargin},
518
- startDirectionX:c.getAlgorithmStartDirection(b.startMarker)},b))},render:function(){var a=this.fromPoint,c=a.series,e=c.chart,n=e.pathfinder,g=l(e.options.connectors,c.options.connectors,a.options.connectors,this.options),h={};e.styledMode||(h.stroke=g.lineColor||a.color,h["stroke-width"]=g.lineWidth,g.dashStyle&&(h.dashstyle=g.dashStyle));h.class="highcharts-point-connecting-path highcharts-color-"+a.colorIndex;g=l(h,g);t(g.marker.radius)||(g.marker.radius=d(f(Math.ceil((g.algorithmMargin||8)/2)-
519
- 1,1),5));a=this.getPath(g);e=a.path;a.obstacles&&(n.lineObstacles=n.lineObstacles||[],n.lineObstacles=n.lineObstacles.concat(a.obstacles));this.renderPath(e,h,c.options.animation);this.addMarker("start",l(g.marker,g.startMarker),e);this.addMarker("end",l(g.marker,g.endMarker),e)},destroy:function(){this.graphics&&(a.objectEach(this.graphics,function(a){a.destroy()}),delete this.graphics)}};h.prototype={algorithms:B,init:function(a){this.chart=a;this.connections=[];q(a,"redraw",function(){this.pathfinder.update()})},
520
- update:function(b){var c=this.chart,d=this,n=d.connections;d.connections=[];c.series.forEach(function(b){b.visible&&b.points.forEach(function(b){var e,m=b.options&&b.options.connect&&a.splat(b.options.connect);b.visible&&!1!==b.isInside&&m&&m.forEach(function(m){e=c.get("string"===typeof m?m:m.to);e instanceof a.Point&&e.series.visible&&e.visible&&!1!==e.isInside&&d.connections.push(new r(b,e,"string"===typeof m?{}:m))})})});for(var f=0,g,h,m=n.length,p=d.connections.length;f<m;++f){h=!1;for(g=0;g<
521
- p;++g)if(n[f].fromPoint===d.connections[g].fromPoint&&n[f].toPoint===d.connections[g].toPoint){d.connections[g].graphics=n[f].graphics;h=!0;break}h||n[f].destroy()}delete this.chartObstacles;delete this.lineObstacles;d.renderConnections(b)},renderConnections:function(a){a?this.chart.series.forEach(function(a){var b=function(){var b=a.chart.pathfinder;(b&&b.connections||[]).forEach(function(b){b.fromPoint&&b.fromPoint.series===a&&b.render()});a.pathfinderRemoveRenderEvent&&(a.pathfinderRemoveRenderEvent(),
522
- delete a.pathfinderRemoveRenderEvent)};!1===a.options.animation?b():a.pathfinderRemoveRenderEvent=q(a,"afterAnimate",b)}):this.connections.forEach(function(a){a.render()})},getChartObstacles:function(a){for(var b=[],d=this.chart.series,n=g(a.algorithmMargin,0),f,h=0,l=d.length;h<l;++h)if(d[h].visible)for(var m=0,p=d[h].points.length,q;m<p;++m)q=d[h].points[m],q.visible&&(q=y(q))&&b.push({xMin:q.xMin-n,xMax:q.xMax+n,yMin:q.yMin-n,yMax:q.yMax+n});b=b.sort(function(a,b){return a.xMin-b.xMin});t(a.algorithmMargin)||
523
- (f=a.algorithmMargin=C(b),b.forEach(function(a){a.xMin-=f;a.xMax+=f;a.yMin-=f;a.yMax+=f}));return b},getObstacleMetrics:function(a){for(var b=0,d=0,f,g,h=a.length;h--;)f=a[h].xMax-a[h].xMin,g=a[h].yMax-a[h].yMin,b<f&&(b=f),d<g&&(d=g);return{maxHeight:d,maxWidth:b}},getAlgorithmStartDirection:function(a){var b="top"!==a.verticalAlign&&"bottom"!==a.verticalAlign;return"left"!==a.align&&"right"!==a.align?b?void 0:!1:b?!0:void 0}};a.Connection=r;a.Pathfinder=h;v(a.Point.prototype,{getPathfinderAnchorPoint:function(a){var b=
524
- y(this),d,f;switch(a.align){case "right":d="xMax";break;case "left":d="xMin"}switch(a.verticalAlign){case "top":f="yMin";break;case "bottom":f="yMax"}return{x:d?b[d]:(b.xMin+b.xMax)/2,y:f?b[f]:(b.yMin+b.yMax)/2}},getRadiansToVector:function(a,c){t(c)||(c=y(this),c={x:(c.xMin+c.xMax)/2,y:(c.yMin+c.yMax)/2});return Math.atan2(c.y-a.y,a.x-c.x)},getMarkerVector:function(a,c,d){for(var b=2*Math.PI,e=y(this),f=e.xMax-e.xMin,g=e.yMax-e.yMin,m=Math.atan2(g,f),p=!1,f=f/2,h=g/2,l=e.xMin+f,e=e.yMin+h,q=l,r=
525
- e,k={},t=1,u=1;a<-Math.PI;)a+=b;for(;a>Math.PI;)a-=b;b=Math.tan(a);a>-m&&a<=m?(u=-1,p=!0):a>m&&a<=Math.PI-m?u=-1:a>Math.PI-m||a<=-(Math.PI-m)?(t=-1,p=!0):t=-1;p?(q+=t*f,r+=u*f*b):(q+=g/(2*b)*t,r+=u*h);d.x!==l&&(q=d.x);d.y!==e&&(r=d.y);k.x=q+c*Math.cos(a);k.y=r-c*Math.sin(a);return k}});a.Chart.prototype.callbacks.push(function(a){!1!==a.options.connectors.enabled&&(u(a),this.pathfinder=new h(this),this.pathfinder.update(!0))})});J(G,"modules/xrange.src.js",[G["parts/Globals.js"]],function(a){var B=
526
- a.addEvent,y=a.defined,C=a.Color,r=a.seriesTypes.column,h=a.correctFloat,u=a.isNumber,t=a.isObject,x=a.merge,v=a.pick,q=a.seriesType,l=a.Axis,g=a.Point,f=a.Series;q("xrange","column",{colorByPoint:!0,dataLabels:{formatter:function(){var a=this.point.partialFill;t(a)&&(a=a.amount);y(a)||(a=0);return h(100*a)+"%"},inside:!0,verticalAlign:"middle"},tooltip:{headerFormat:'\x3cspan style\x3d"font-size: 10px"\x3e{point.x} - {point.x2}\x3c/span\x3e\x3cbr/\x3e',pointFormat:'\x3cspan style\x3d"color:{point.color}"\x3e\u25cf\x3c/span\x3e {series.name}: \x3cb\x3e{point.yCategory}\x3c/b\x3e\x3cbr/\x3e'},
527
- borderRadius:3,pointRange:0},{type:"xrange",parallelArrays:["x","x2","y"],requireSorting:!1,animate:a.seriesTypes.line.prototype.animate,cropShoulder:1,getExtremesFromAll:!0,autoIncrement:a.noop,getColumnMetrics:function(){function a(){c.series.forEach(function(a){var b=a.xAxis;a.xAxis=a.yAxis;a.yAxis=b})}var b,c=this.chart;a();b=r.prototype.getColumnMetrics.call(this);a();return b},cropData:function(a,b,c,e){b=f.prototype.cropData.call(this,this.x2Data,b,c,e);b.xData=a.slice(b.start,b.end);return b},
528
- findPointIndex:function(d){var b=this.data,c=this.points,e=d.id,f,g;e&&(g=(f=a.find(b,function(a){return a.id===e}))?f.index:void 0);void 0===g&&(g=(f=a.find(b,function(a){return a.x===d.x&&a.x2===d.x2&&!(c[g]&&c[g].touched)}))?f.index:void 0);this.cropped&&g>=this.cropStart&&(g-=this.cropStart);return g},translatePoint:function(a){var b=this.xAxis,c=this.yAxis,d=this.columnMetrics,f=this.options,g=f.minPointLength||0,h=a.plotX,l=v(a.x2,a.x+(a.len||0)),m=b.translate(l,0,0,0,1),l=Math.abs(m-h),p=this.chart.inverted,
529
- q=v(f.borderWidth,1)%2/2,r=d.offset,H=Math.round(d.width);g&&(g-=l,0>g&&(g=0),h-=g/2,m+=g/2);h=Math.max(h,-10);m=Math.min(Math.max(m,-10),b.len+10);y(a.options.pointWidth)&&(r-=(Math.ceil(a.options.pointWidth)-H)/2,H=Math.ceil(a.options.pointWidth));f.pointPlacement&&u(a.plotY)&&c.categories&&(a.plotY=c.translate(a.y,0,1,0,1,f.pointPlacement));a.shapeArgs={x:Math.floor(Math.min(h,m))+q,y:Math.floor(a.plotY+r)+q,width:Math.round(Math.abs(m-h)),height:H,r:this.options.borderRadius};f=a.shapeArgs.x;
530
- g=f+a.shapeArgs.width;0>f||g>b.len?(f=Math.min(b.len,Math.max(0,f)),g=Math.max(0,Math.min(g,b.len)),m=g-f,a.dlBox=x(a.shapeArgs,{x:f,width:g-f,centerX:m?m/2:null})):a.dlBox=null;p?(a.tooltipPos[1]+=l/2*(b.reversed?1:-1),a.tooltipPos[0]+=d.width/2,a.tooltipPos[1]=Math.max(Math.min(a.tooltipPos[1],b.len-1),0),a.tooltipPos[0]=Math.max(Math.min(a.tooltipPos[0],c.len-1),0)):(a.tooltipPos[0]+=l/2*(b.reversed?-1:1),a.tooltipPos[1]-=d.width/2,a.tooltipPos[0]=Math.max(Math.min(a.tooltipPos[0],b.len-1),0),
531
- a.tooltipPos[1]=Math.max(Math.min(a.tooltipPos[1],c.len-1),0));if(c=a.partialFill)t(c)&&(c=c.amount),u(c)||(c=0),b=a.shapeArgs,a.partShapeArgs={x:b.x,y:b.y,width:b.width,height:b.height,r:this.options.borderRadius},a.clipRectArgs={x:b.x,y:b.y,width:Math.max(Math.round(l*c+(a.plotX-h)),0),height:b.height}},translate:function(){r.prototype.translate.apply(this,arguments);this.points.forEach(function(a){this.translatePoint(a)},this)},drawPoint:function(a,b){var c=this.options,d=this.chart.renderer,f=
532
- a.graphic,g=a.shapeType,h=a.shapeArgs,l=a.partShapeArgs,m=a.clipRectArgs,p=a.partialFill,q=c.stacking&&!c.borderRadius,r=a.state,u=c.states[r||"normal"]||{},E=void 0===r?"attr":"animate",r=this.pointAttribs(a,r),u=v(this.chart.options.chart.animation,u.animation);if(a.isNull)f&&(a.graphic=f.destroy());else{if(f)a.graphicOriginal[b](h);else a.graphic=f=d.g("point").addClass(a.getClassName()).add(a.group||this.group),a.graphicOriginal=d[g](x(h)).addClass(a.getClassName()).addClass("highcharts-partfill-original").add(f);
533
- l&&(a.graphicOverlay?(a.graphicOverlay[b](x(l)),a.clipRect.animate(x(m))):(a.clipRect=d.clipRect(m.x,m.y,m.width,m.height),a.graphicOverlay=d[g](l).addClass("highcharts-partfill-overlay").add(f).clip(a.clipRect)));this.chart.styledMode||(a.graphicOriginal.animate(r,u).shadow(c.shadow,null,q),l&&(t(p)||(p={}),t(c.partialFill)&&(p=x(p,c.partialFill)),b=p.fill||C(r.fill).brighten(-.3).get()||C(a.color||this.color).brighten(-.3).get(),r.fill=b,a.graphicOverlay[E](r,u).shadow(c.shadow,null,q)))}},drawPoints:function(){var a=
534
- this,b=a.getAnimationVerb();a.points.forEach(function(c){a.drawPoint(c,b)})},getAnimationVerb:function(){return this.chart.pointCount<(this.options.animationLimit||250)?"animate":"attr"}},{resolveColor:function(){var a,b=this.series;if(b.options.colorByPoint&&!this.options.color){a=b.options.colors||b.chart.options.colors;var c=this.y%(a?a.length:b.chart.options.chart.colorCount);a=a&&a[c];b.chart.styledMode||(this.color=a);this.options.colorIndex||(this.colorIndex=c)}else this.color||(this.color=
535
- b.color)},init:function(){g.prototype.init.apply(this,arguments);this.y||(this.y=0);return this},setState:function(){g.prototype.setState.apply(this,arguments);this.series.drawPoint(this,this.series.getAnimationVerb())},getLabelConfig:function(){var a=g.prototype.getLabelConfig.call(this),b=this.series.yAxis.categories;a.x2=this.x2;a.yCategory=this.yCategory=b&&b[this.y];return a},tooltipDateKeys:["x","x2"],isValid:function(){return"number"===typeof this.x&&"number"===typeof this.x2}});B(l,"afterGetSeriesExtremes",
536
- function(){var a=this.series,b,c;this.isXAxis&&(b=v(this.dataMax,-Number.MAX_VALUE),a.forEach(function(a){a.x2Data&&a.x2Data.forEach(function(a){a>b&&(b=a,c=!0)})}),c&&(this.dataMax=b))})});J(G,"parts-gantt/GanttSeries.js",[G["parts/Globals.js"]],function(a){var B=a.dateFormat,y=a.isObject,C=a.isNumber,r=a.merge,h=a.pick,u=a.seriesType,t=a.stop,x=a.seriesTypes.xrange;u("gantt","xrange",{grouping:!1,dataLabels:{enabled:!0,formatter:function(){var a=this.point.partialFill;y(a)&&(a=a.amount);if(C(a)&&
537
- 0<a)return 100*a+"%"}},tooltip:{headerFormat:'\x3cspan style\x3d"font-size: 10px"\x3e{series.name}\x3c/span\x3e\x3cbr/\x3e',pointFormat:null,pointFormatter:function(){var h=this.series,q=h.chart.tooltip,l=h.xAxis,g=l.options.dateTimeLabelFormats,f=l.options.startOfWeek,d=h.tooltipOptions,b=d.xDateFormat,c=this.end?this.end-this.start:0,h=this.options.milestone,l="\x3cb\x3e"+(this.name||this.yCategory)+"\x3c/b\x3e";if(d.pointFormat)return this.tooltipFormatter(d.pointFormat);b||(b=a.splat(q.getDateFormat(c,
538
- this.start,f,g))[0]);q=B(b,this.start);g=B(b,this.end);l+="\x3cbr/\x3e";return h?l+("Date "+q+"\x3cbr/\x3e"):l+("Start: "+q+"\x3cbr/\x3e")+("End: "+g+"\x3cbr/\x3e")}},connectors:{type:"simpleConnect",animation:{reversed:!0},startMarker:{enabled:!0,symbol:"arrow-filled",radius:4,fill:"#fa0",align:"left"},endMarker:{enabled:!1,align:"right"}}},{pointArrayMap:["start","end","y"],keyboardMoveVertical:!1,translatePoint:function(a){var h,l;x.prototype.translatePoint.call(this,a);a.options.milestone&&(h=
539
- a.shapeArgs,l=h.height,a.shapeArgs={x:h.x-l/2,y:h.y,width:l,height:l})},drawPoint:function(a,h){var l=this.options,g=this.chart.renderer,f=a.shapeArgs,d=a.plotY,b=a.graphic,c=a.selected&&"select",e=l.stacking&&!l.borderRadius;a.options.milestone?C(d)&&null!==a.y?(f=g.symbols.diamond(f.x,f.y,f.width,f.height),b?(t(b),b[h]({d:f})):a.graphic=g.path(f).addClass(a.getClassName(),!0).add(a.group||this.group),this.chart.styledMode||a.graphic.attr(this.pointAttribs(a,c)).shadow(l.shadow,null,e)):b&&(a.graphic=
540
- b.destroy()):x.prototype.drawPoint.call(this,a,h)},setData:a.Series.prototype.setData,setGanttPointAliases:function(a){function q(h,g){void 0!==g&&(a[h]=g)}q("x",h(a.start,a.x));q("x2",h(a.end,a.x2));q("partialFill",h(a.completed,a.partialFill));q("connect",h(a.dependency,a.connect))}},r(x.prototype.pointClass.prototype,{applyOptions:function(h,q){h=r(h);a.seriesTypes.gantt.prototype.setGanttPointAliases(h);return h=x.prototype.pointClass.prototype.applyOptions.call(this,h,q)}}))});J(G,"parts-gantt/GanttChart.js",
541
- [G["parts/Globals.js"]],function(a){var B=a.merge,y=a.splat,C=a.Chart;a.ganttChart=function(r,h,u){var t="string"===typeof r||r.nodeName,x=h.series,v=a.getOptions(),q,l=h;h=arguments[t?1:0];a.isArray(h.xAxis)||(h.xAxis=[h.xAxis||{},{}]);h.xAxis=h.xAxis.map(function(a,f){1===f&&(q=0);return B(v.xAxis,{grid:{enabled:!0},opposite:!0,linkedTo:q},a,{type:"datetime"})});h.yAxis=y(h.yAxis||{}).map(function(a){return B(v.yAxis,{grid:{enabled:!0},staticScale:50,reversed:!0,type:a.categories?a.type:"treegrid"},
542
- a)});h.series=null;h=B(!0,{chart:{type:"gantt"},title:{text:null},legend:{enabled:!1}},h,{isGantt:!0});h.series=l.series=x;h.series.forEach(function(g){g.data.forEach(function(f){a.seriesTypes.gantt.prototype.setGanttPointAliases(f)})});return t?new C(r,h,u):new C(h,h)}});J(G,"parts/Scrollbar.js",[G["parts/Globals.js"]],function(a){function B(a,c,d){this.init(a,c,d)}var y=a.addEvent,C=a.Axis,r=a.correctFloat,h=a.defaultOptions,u=a.defined,t=a.destroyObjectProperties,x=a.fireEvent,v=a.hasTouch,q=a.merge,
543
- l=a.pick,g=a.removeEvent,f,d={height:a.isTouchDevice?20:14,barBorderRadius:0,buttonBorderRadius:0,liveRedraw:void 0,margin:10,minWidth:6,step:.2,zIndex:3,barBackgroundColor:"#cccccc",barBorderWidth:1,barBorderColor:"#cccccc",buttonArrowColor:"#333333",buttonBackgroundColor:"#e6e6e6",buttonBorderColor:"#cccccc",buttonBorderWidth:1,rifleColor:"#333333",trackBackgroundColor:"#f2f2f2",trackBorderColor:"#f2f2f2",trackBorderWidth:1};h.scrollbar=q(!0,d,h.scrollbar);a.swapXY=f=function(a,c){var b=a.length,
544
- d;if(c)for(c=0;c<b;c+=3)d=a[c+1],a[c+1]=a[c+2],a[c+2]=d;return a};B.prototype={init:function(a,c,e){this.scrollbarButtons=[];this.renderer=a;this.userOptions=c;this.options=q(d,c);this.chart=e;this.size=l(this.options.size,this.options.height);c.enabled&&(this.render(),this.initEvents(),this.addEvents())},render:function(){var a=this.renderer,c=this.options,d=this.size,g=this.chart.styledMode,h;this.group=h=a.g("scrollbar").attr({zIndex:c.zIndex,translateY:-99999}).add();this.track=a.rect().addClass("highcharts-scrollbar-track").attr({x:0,
545
- r:c.trackBorderRadius||0,height:d,width:d}).add(h);g||this.track.attr({fill:c.trackBackgroundColor,stroke:c.trackBorderColor,"stroke-width":c.trackBorderWidth});this.trackBorderWidth=this.track.strokeWidth();this.track.attr({y:-this.trackBorderWidth%2/2});this.scrollbarGroup=a.g().add(h);this.scrollbar=a.rect().addClass("highcharts-scrollbar-thumb").attr({height:d,width:d,r:c.barBorderRadius||0}).add(this.scrollbarGroup);this.scrollbarRifles=a.path(f(["M",-3,d/4,"L",-3,2*d/3,"M",0,d/4,"L",0,2*d/3,
546
- "M",3,d/4,"L",3,2*d/3],c.vertical)).addClass("highcharts-scrollbar-rifles").add(this.scrollbarGroup);g||(this.scrollbar.attr({fill:c.barBackgroundColor,stroke:c.barBorderColor,"stroke-width":c.barBorderWidth}),this.scrollbarRifles.attr({stroke:c.rifleColor,"stroke-width":1}));this.scrollbarStrokeWidth=this.scrollbar.strokeWidth();this.scrollbarGroup.translate(-this.scrollbarStrokeWidth%2/2,-this.scrollbarStrokeWidth%2/2);this.drawScrollbarButton(0);this.drawScrollbarButton(1)},position:function(a,
547
- c,d,f){var b=this.options.vertical,e=0,g=this.rendered?"animate":"attr";this.x=a;this.y=c+this.trackBorderWidth;this.width=d;this.xOffset=this.height=f;this.yOffset=e;b?(this.width=this.yOffset=d=e=this.size,this.xOffset=c=0,this.barWidth=f-2*d,this.x=a+=this.options.margin):(this.height=this.xOffset=f=c=this.size,this.barWidth=d-2*f,this.y+=this.options.margin);this.group[g]({translateX:a,translateY:this.y});this.track[g]({width:d,height:f});this.scrollbarButtons[1][g]({translateX:b?0:d-c,translateY:b?
548
- f-e:0})},drawScrollbarButton:function(a){var b=this.renderer,d=this.scrollbarButtons,g=this.options,h=this.size,l;l=b.g().add(this.group);d.push(l);l=b.rect().addClass("highcharts-scrollbar-button").add(l);this.chart.styledMode||l.attr({stroke:g.buttonBorderColor,"stroke-width":g.buttonBorderWidth,fill:g.buttonBackgroundColor});l.attr(l.crisp({x:-.5,y:-.5,width:h+1,height:h+1,r:g.buttonBorderRadius},l.strokeWidth()));l=b.path(f(["M",h/2+(a?-1:1),h/2-3,"L",h/2+(a?-1:1),h/2+3,"L",h/2+(a?2:-2),h/2],
549
- g.vertical)).addClass("highcharts-scrollbar-arrow").add(d[a]);this.chart.styledMode||l.attr({fill:g.buttonArrowColor})},setRange:function(a,c){var b=this.options,d=b.vertical,f=b.minWidth,g=this.barWidth,h,m,p=!this.rendered||this.hasDragged||this.chart.navigator&&this.chart.navigator.hasDragged?"attr":"animate";u(g)&&(a=Math.max(a,0),h=Math.ceil(g*a),this.calculatedWidth=m=r(g*Math.min(c,1)-h),m<f&&(h=(g-f+m)*a,m=f),f=Math.floor(h+this.xOffset+this.yOffset),g=m/2-.5,this.from=a,this.to=c,d?(this.scrollbarGroup[p]({translateY:f}),
550
- this.scrollbar[p]({height:m}),this.scrollbarRifles[p]({translateY:g}),this.scrollbarTop=f,this.scrollbarLeft=0):(this.scrollbarGroup[p]({translateX:f}),this.scrollbar[p]({width:m}),this.scrollbarRifles[p]({translateX:g}),this.scrollbarLeft=f,this.scrollbarTop=0),12>=m?this.scrollbarRifles.hide():this.scrollbarRifles.show(!0),!1===b.showFull&&(0>=a&&1<=c?this.group.hide():this.group.show()),this.rendered=!0)},initEvents:function(){var a=this;a.mouseMoveHandler=function(b){var c=a.chart.pointer.normalize(b),
551
- d=a.options.vertical?"chartY":"chartX",f=a.initPositions;!a.grabbedCenter||b.touches&&0===b.touches[0][d]||(c=a.cursorToScrollbarPosition(c)[d],d=a[d],d=c-d,a.hasDragged=!0,a.updatePosition(f[0]+d,f[1]+d),a.hasDragged&&x(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMType:b.type,DOMEvent:b}))};a.mouseUpHandler=function(b){a.hasDragged&&x(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMType:b.type,DOMEvent:b});a.grabbedCenter=a.hasDragged=a.chartX=a.chartY=null};a.mouseDownHandler=
552
- function(b){b=a.chart.pointer.normalize(b);b=a.cursorToScrollbarPosition(b);a.chartX=b.chartX;a.chartY=b.chartY;a.initPositions=[a.from,a.to];a.grabbedCenter=!0};a.buttonToMinClick=function(b){var c=r(a.to-a.from)*a.options.step;a.updatePosition(r(a.from-c),r(a.to-c));x(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMEvent:b})};a.buttonToMaxClick=function(b){var c=(a.to-a.from)*a.options.step;a.updatePosition(a.from+c,a.to+c);x(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMEvent:b})};
553
- a.trackClick=function(b){var c=a.chart.pointer.normalize(b),d=a.to-a.from,f=a.y+a.scrollbarTop,g=a.x+a.scrollbarLeft;a.options.vertical&&c.chartY>f||!a.options.vertical&&c.chartX>g?a.updatePosition(a.from+d,a.to+d):a.updatePosition(a.from-d,a.to-d);x(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMEvent:b})}},cursorToScrollbarPosition:function(a){var b=this.options,b=b.minWidth>this.calculatedWidth?b.minWidth:0;return{chartX:(a.chartX-this.x-this.xOffset)/(this.barWidth-b),chartY:(a.chartY-
554
- this.y-this.yOffset)/(this.barWidth-b)}},updatePosition:function(a,c){1<c&&(a=r(1-r(c-a)),c=1);0>a&&(c=r(c-a),a=0);this.from=a;this.to=c},update:function(a){this.destroy();this.init(this.chart.renderer,q(!0,this.options,a),this.chart)},addEvents:function(){var a=this.options.inverted?[1,0]:[0,1],c=this.scrollbarButtons,d=this.scrollbarGroup.element,f=this.mouseDownHandler,g=this.mouseMoveHandler,h=this.mouseUpHandler,a=[[c[a[0]].element,"click",this.buttonToMinClick],[c[a[1]].element,"click",this.buttonToMaxClick],
555
- [this.track.element,"click",this.trackClick],[d,"mousedown",f],[d.ownerDocument,"mousemove",g],[d.ownerDocument,"mouseup",h]];v&&a.push([d,"touchstart",f],[d.ownerDocument,"touchmove",g],[d.ownerDocument,"touchend",h]);a.forEach(function(a){y.apply(null,a)});this._events=a},removeEvents:function(){this._events.forEach(function(a){g.apply(null,a)});this._events.length=0},destroy:function(){var a=this.chart.scroller;this.removeEvents();["track","scrollbarRifles","scrollbar","scrollbarGroup","group"].forEach(function(a){this[a]&&
556
- this[a].destroy&&(this[a]=this[a].destroy())},this);a&&this===a.scrollbar&&(a.scrollbar=null,t(a.scrollbarButtons))}};a.Scrollbar||(y(C,"afterInit",function(){var b=this;b.options&&b.options.scrollbar&&b.options.scrollbar.enabled&&(b.options.scrollbar.vertical=!b.horiz,b.options.startOnTick=b.options.endOnTick=!1,b.scrollbar=new B(b.chart.renderer,b.options.scrollbar,b.chart),y(b.scrollbar,"changed",function(c){var d=Math.min(l(b.options.min,b.min),b.min,b.dataMin),f=Math.max(l(b.options.max,b.max),
557
- b.max,b.dataMax)-d,g;b.horiz&&!b.reversed||!b.horiz&&b.reversed?(g=d+f*this.to,d+=f*this.from):(g=d+f*(1-this.from),d+=f*(1-this.to));l(this.options.liveRedraw,a.svg&&!a.isTouchDevice&&!this.chart.isBoosting)||"mouseup"===c.DOMType||!u(c.DOMType)?b.setExtremes(d,g,!0,"mousemove"!==c.DOMType,c):this.setRange(this.from,this.to)}))}),y(C,"afterRender",function(){var a=Math.min(l(this.options.min,this.min),this.min,l(this.dataMin,this.min)),c=Math.max(l(this.options.max,this.max),this.max,l(this.dataMax,
558
- this.max)),d=this.scrollbar,f=this.titleOffset||0;if(d){this.horiz?(d.position(this.left,this.top+this.height+2+this.chart.scrollbarsOffsets[1]+(this.opposite?0:f+this.axisTitleMargin+this.offset),this.width,this.height),f=1):(d.position(this.left+this.width+2+this.chart.scrollbarsOffsets[0]+(this.opposite?f+this.axisTitleMargin+this.offset:0),this.top,this.width,this.height),f=0);if(!this.opposite&&!this.horiz||this.opposite&&this.horiz)this.chart.scrollbarsOffsets[f]+=this.scrollbar.size+this.scrollbar.options.margin;
559
- isNaN(a)||isNaN(c)||!u(this.min)||!u(this.max)?d.setRange(0,0):(f=(this.min-a)/(c-a),a=(this.max-a)/(c-a),this.horiz&&!this.reversed||!this.horiz&&this.reversed?d.setRange(f,a):d.setRange(1-a,1-f))}}),y(C,"afterGetOffset",function(){var a=this.horiz?2:1,c=this.scrollbar;c&&(this.chart.scrollbarsOffsets=[0,0],this.chart.axisOffset[a]+=c.size+c.options.margin)}),a.Scrollbar=B)});J(G,"parts/RangeSelector.js",[G["parts/Globals.js"]],function(a){function B(a){this.init(a)}var y=a.addEvent,C=a.Axis,r=a.Chart,
560
- h=a.css,u=a.createElement,t=a.defaultOptions,x=a.defined,v=a.destroyObjectProperties,q=a.discardElement,l=a.extend,g=a.fireEvent,f=a.isNumber,d=a.merge,b=a.pick,c=a.pInt,e=a.splat;l(t,{rangeSelector:{verticalAlign:"top",buttonTheme:{width:28,height:18,padding:2,zIndex:7},floating:!1,x:0,y:0,height:void 0,inputPosition:{align:"right",x:0,y:0},buttonPosition:{align:"left",x:0,y:0},labelStyle:{color:"#666666"}}});t.lang=d(t.lang,{rangeSelectorZoom:"Zoom",rangeSelectorFrom:"From",rangeSelectorTo:"To"});
561
- B.prototype={clickButton:function(a,c){var d=this.chart,g=this.buttonOptions[a],m=d.xAxis[0],h=d.scroller&&d.scroller.getUnionExtremes()||m||{},n=h.dataMin,l=h.dataMax,q,r=m&&Math.round(Math.min(m.max,b(l,m.max))),k=g.type,w,h=g._range,t,u,v,x=g.dataGrouping;if(null!==n&&null!==l){d.fixedRange=h;x&&(this.forcedDataGrouping=!0,C.prototype.setDataGrouping.call(m||{chart:this.chart},x,!1),this.frozenStates=g.preserveDataGrouping);if("month"===k||"year"===k)m?(k={range:g,max:r,chart:d,dataMin:n,dataMax:l},
562
- q=m.minFromRange.call(k),f(k.newMax)&&(r=k.newMax)):h=g;else if(h)q=Math.max(r-h,n),r=Math.min(q+h,l);else if("ytd"===k)if(m)void 0===l&&(n=Number.MAX_VALUE,l=Number.MIN_VALUE,d.series.forEach(function(a){a=a.xData;n=Math.min(a[0],n);l=Math.max(a[a.length-1],l)}),c=!1),r=this.getYTDExtremes(l,n,d.time.useUTC),q=t=r.min,r=r.max;else{this.deferredYTDClick=a;return}else"all"===k&&m&&(q=n,r=l);q+=g._offsetMin;r+=g._offsetMax;this.setSelected(a);m?m.setExtremes(q,r,b(c,1),null,{trigger:"rangeSelectorButton",
563
- rangeSelectorButton:g}):(w=e(d.options.xAxis)[0],v=w.range,w.range=h,u=w.min,w.min=t,y(d,"load",function(){w.range=v;w.min=u}))}},setSelected:function(a){this.selected=this.options.selected=a},defaultButtons:[{type:"month",count:1,text:"1m"},{type:"month",count:3,text:"3m"},{type:"month",count:6,text:"6m"},{type:"ytd",text:"YTD"},{type:"year",count:1,text:"1y"},{type:"all",text:"All"}],init:function(a){var b=this,c=a.options.rangeSelector,d=c.buttons||[].concat(b.defaultButtons),e=c.selected,f=function(){var a=
564
- b.minInput,c=b.maxInput;a&&a.blur&&g(a,"blur");c&&c.blur&&g(c,"blur")};b.chart=a;b.options=c;b.buttons=[];b.buttonOptions=d;this.unMouseDown=y(a.container,"mousedown",f);this.unResize=y(a,"resize",f);d.forEach(b.computeButtonRange);void 0!==e&&d[e]&&this.clickButton(e,!1);y(a,"load",function(){a.xAxis&&a.xAxis[0]&&y(a.xAxis[0],"setExtremes",function(c){this.max-this.min!==a.fixedRange&&"rangeSelectorButton"!==c.trigger&&"updatedData"!==c.trigger&&b.forcedDataGrouping&&!b.frozenStates&&this.setDataGrouping(!1,
565
- !1)})})},updateButtonStates:function(){var a=this,b=this.chart,c=b.xAxis[0],d=Math.round(c.max-c.min),e=!c.hasVisibleSeries,g=b.scroller&&b.scroller.getUnionExtremes()||c,h=g.dataMin,l=g.dataMax,b=a.getYTDExtremes(l,h,b.time.useUTC),q=b.min,r=b.max,k=a.selected,t=f(k),u=a.options.allButtonsEnabled,v=a.buttons;a.buttonOptions.forEach(function(b,f){var m=b._range,g=b.type,p=b.count||1,n=v[f],w=0,A=b._offsetMax-b._offsetMin;b=f===k;var z=m>l-h,x=m<c.minRange,D=!1,E=!1,m=m===d;("month"===g||"year"===
566
- g)&&d+36E5>=864E5*{month:28,year:365}[g]*p-A&&d-36E5<=864E5*{month:31,year:366}[g]*p+A?m=!0:"ytd"===g?(m=r-q+A===d,D=!b):"all"===g&&(m=c.max-c.min>=l-h,E=!b&&t&&m);g=!u&&(z||x||E||e);p=b&&m||m&&!t&&!D||b&&a.frozenStates;g?w=3:p&&(t=!0,w=2);n.state!==w&&(n.setState(w),0===w&&k===f&&a.setSelected(null))})},computeButtonRange:function(a){var c=a.type,d=a.count||1,e={millisecond:1,second:1E3,minute:6E4,hour:36E5,day:864E5,week:6048E5};if(e[c])a._range=e[c]*d;else if("month"===c||"year"===c)a._range=864E5*
567
- {month:30,year:365}[c]*d;a._offsetMin=b(a.offsetMin,0);a._offsetMax=b(a.offsetMax,0);a._range+=a._offsetMax-a._offsetMin},setInputValue:function(a,b){var c=this.chart.options.rangeSelector,d=this.chart.time,e=this[a+"Input"];x(b)&&(e.previousValue=e.HCTime,e.HCTime=b);e.value=d.dateFormat(c.inputEditDateFormat||"%Y-%m-%d",e.HCTime);this[a+"DateBox"].attr({text:d.dateFormat(c.inputDateFormat||"%b %e, %Y",e.HCTime)})},showInput:function(a){var b=this.inputGroup,c=this[a+"DateBox"];h(this[a+"Input"],
568
- {left:b.translateX+c.x+"px",top:b.translateY+"px",width:c.width-2+"px",height:c.height-2+"px",border:"2px solid silver"})},hideInput:function(a){h(this[a+"Input"],{border:0,width:"1px",height:"1px"});this.setInputValue(a)},drawInput:function(b){function e(){var a=x.value,b=(q.inputDateParser||Date.parse)(a),d=n.xAxis[0],e=n.scroller&&n.scroller.xAxis?n.scroller.xAxis:d,m=e.dataMin,e=e.dataMax;b!==x.previousValue&&(x.previousValue=b,f(b)||(b=a.split("-"),b=Date.UTC(c(b[0]),c(b[1])-1,c(b[2]))),f(b)&&
569
- (n.time.useUTC||(b+=6E4*(new Date).getTimezoneOffset()),v?b>g.maxInput.HCTime?b=void 0:b<m&&(b=m):b<g.minInput.HCTime?b=void 0:b>e&&(b=e),void 0!==b&&d.setExtremes(v?b:d.min,v?d.max:b,void 0,void 0,{trigger:"rangeSelectorInput"})))}var g=this,n=g.chart,m=n.renderer.style||{},p=n.renderer,q=n.options.rangeSelector,r=g.div,v="min"===b,x,k,y=this.inputGroup;this[b+"Label"]=k=p.label(t.lang[v?"rangeSelectorFrom":"rangeSelectorTo"],this.inputGroup.offset).addClass("highcharts-range-label").attr({padding:2}).add(y);
570
- y.offset+=k.width+5;this[b+"DateBox"]=p=p.label("",y.offset).addClass("highcharts-range-input").attr({padding:2,width:q.inputBoxWidth||90,height:q.inputBoxHeight||17,"text-align":"center"}).on("click",function(){g.showInput(b);g[b+"Input"].focus()});n.styledMode||p.attr({stroke:q.inputBoxBorderColor||"#cccccc","stroke-width":1});p.add(y);y.offset+=p.width+(v?10:0);this[b+"Input"]=x=u("input",{name:b,className:"highcharts-range-selector",type:"text"},{top:n.plotTop+"px"},r);n.styledMode||(k.css(d(m,
571
- q.labelStyle)),p.css(d({color:"#333333"},m,q.inputStyle)),h(x,l({position:"absolute",border:0,width:"1px",height:"1px",padding:0,textAlign:"center",fontSize:m.fontSize,fontFamily:m.fontFamily,top:"-9999em"},q.inputStyle)));x.onfocus=function(){g.showInput(b)};x.onblur=function(){x===a.doc.activeElement&&(e(),g.hideInput(b),x.blur())};x.onchange=e;x.onkeypress=function(a){13===a.keyCode&&e()}},getPosition:function(){var a=this.chart,b=a.options.rangeSelector,a="top"===b.verticalAlign?a.plotTop-a.axisOffset[0]:
572
- 0;return{buttonTop:a+b.buttonPosition.y,inputTop:a+b.inputPosition.y-10}},getYTDExtremes:function(a,b,c){var d=this.chart.time,e=new d.Date(a),f=d.get("FullYear",e);c=c?d.Date.UTC(f,0,1):+new d.Date(f,0,1);b=Math.max(b||0,c);e=e.getTime();return{max:Math.min(a||e,e),min:b}},render:function(a,c){var d=this,e=d.chart,f=e.renderer,g=e.container,h=e.options,l=h.exporting&&!1!==h.exporting.enabled&&h.navigation&&h.navigation.buttonOptions,n=t.lang,q=d.div,k=h.rangeSelector,r=b(h.chart.style&&h.chart.style.zIndex,
573
- 0)+1,h=k.floating,w=d.buttons,q=d.inputGroup,v=k.buttonTheme,x=k.buttonPosition,y=k.inputPosition,B=k.inputEnabled,C=v&&v.states,G=e.plotLeft,J,M=d.buttonGroup,T;T=d.rendered;var P=d.options.verticalAlign,ba=e.legend,ca=ba&&ba.options,U=x.y,S=y.y,W=T||!1,X=W?"animate":"attr",V=0,Z=0,Y;if(!1!==k.enabled){T||(d.group=T=f.g("range-selector-group").attr({zIndex:7}).add(),d.buttonGroup=M=f.g("range-selector-buttons").add(T),d.zoomText=f.text(n.rangeSelectorZoom,0,15).add(M),e.styledMode||(d.zoomText.css(k.labelStyle),
574
- v["stroke-width"]=b(v["stroke-width"],0)),d.buttonOptions.forEach(function(a,b){w[b]=f.button(a.text,0,0,function(c){var e=a.events&&a.events.click,f;e&&(f=e.call(a,c));!1!==f&&d.clickButton(b);d.isActive=!0},v,C&&C.hover,C&&C.select,C&&C.disabled).attr({"text-align":"center"}).add(M)}),!1!==B&&(d.div=q=u("div",null,{position:"relative",height:0,zIndex:r}),g.parentNode.insertBefore(q,g),d.inputGroup=q=f.g("input-group").add(T),q.offset=0,d.drawInput("min"),d.drawInput("max")));d.zoomText[X]({x:b(G+
575
- x.x,G)});J=b(G+x.x,G)+d.zoomText.getBBox().width+5;d.buttonOptions.forEach(function(a,c){w[c][X]({x:J});J+=w[c].width+b(k.buttonSpacing,5)});G=e.plotLeft-e.spacing[3];d.updateButtonStates();l&&this.titleCollision(e)&&"top"===P&&"right"===x.align&&x.y+M.getBBox().height-12<(l.y||0)+l.height&&(V=-40);"left"===x.align?Y=x.x-e.spacing[3]:"right"===x.align&&(Y=x.x+V-e.spacing[1]);M.align({y:x.y,width:M.getBBox().width,align:x.align,x:Y},!0,e.spacingBox);d.group.placed=W;d.buttonGroup.placed=W;!1!==B&&
576
- (V=l&&this.titleCollision(e)&&"top"===P&&"right"===y.align&&y.y-q.getBBox().height-12<(l.y||0)+l.height+e.spacing[0]?-40:0,"left"===y.align?Y=G:"right"===y.align&&(Y=-Math.max(e.axisOffset[1],-V)),q.align({y:y.y,width:q.getBBox().width,align:y.align,x:y.x+Y-2},!0,e.spacingBox),g=q.alignAttr.translateX+q.alignOptions.x-V+q.getBBox().x+2,l=q.alignOptions.width,n=M.alignAttr.translateX+M.getBBox().x,Y=M.getBBox().width+20,(y.align===x.align||n+Y>g&&g+l>n&&U<S+q.getBBox().height)&&q.attr({translateX:q.alignAttr.translateX+
577
- (e.axisOffset[1]>=-V?0:-V),translateY:q.alignAttr.translateY+M.getBBox().height+10}),d.setInputValue("min",a),d.setInputValue("max",c),d.inputGroup.placed=W);d.group.align({verticalAlign:P},!0,e.spacingBox);a=d.group.getBBox().height+20;c=d.group.alignAttr.translateY;"bottom"===P&&(ba=ca&&"bottom"===ca.verticalAlign&&ca.enabled&&!ca.floating?ba.legendHeight+b(ca.margin,10):0,a=a+ba-20,Z=c-a-(h?0:k.y)-10);if("top"===P)h&&(Z=0),e.titleOffset&&(Z=e.titleOffset+e.options.title.margin),Z+=e.margin[0]-
578
- e.spacing[0]||0;else if("middle"===P)if(S===U)Z=0>S?c+void 0:c;else if(S||U)Z=0>S||0>U?Z-Math.min(S,U):c-a+NaN;d.group.translate(k.x,k.y+Math.floor(Z));!1!==B&&(d.minInput.style.marginTop=d.group.translateY+"px",d.maxInput.style.marginTop=d.group.translateY+"px");d.rendered=!0}},getHeight:function(){var a=this.options,b=this.group,c=a.y,d=a.buttonPosition.y,e=a.inputPosition.y;if(a.height)return a.height;a=b?b.getBBox(!0).height+13+c:0;b=Math.min(e,d);if(0>e&&0>d||0<e&&0<d)a+=Math.abs(b);return a},
579
- titleCollision:function(a){return!(a.options.title.text||a.options.subtitle.text)},update:function(a){var b=this.chart;d(!0,b.options.rangeSelector,a);this.destroy();this.init(b);b.rangeSelector.render()},destroy:function(){var b=this,c=b.minInput,d=b.maxInput;b.unMouseDown();b.unResize();v(b.buttons);c&&(c.onfocus=c.onblur=c.onchange=null);d&&(d.onfocus=d.onblur=d.onchange=null);a.objectEach(b,function(a,c){a&&"chart"!==c&&(a.destroy?a.destroy():a.nodeType&&q(this[c]));a!==B.prototype[c]&&(b[c]=
580
- null)},this)}};C.prototype.minFromRange=function(){var a=this.range,c={month:"Month",year:"FullYear"}[a.type],d,e=this.max,m,g,h=this.chart.time,l=function(a,b){var d=new h.Date(a),e=h.get(c,d);h.set(c,d,e+b);e===h.get(c,d)&&d.setDate(0);return d.getTime()-a};f(a)?(d=e-a,g=a):(d=e+l(e,-a.count),this.chart&&(this.chart.fixedRange=e-d));m=b(this.dataMin,Number.MIN_VALUE);f(d)||(d=m);d<=m&&(d=m,void 0===g&&(g=l(d,a.count)),this.newMax=Math.min(d+g,this.dataMax));f(e)||(d=void 0);return d};a.RangeSelector||
581
- (y(r,"afterGetContainer",function(){this.options.rangeSelector.enabled&&(this.rangeSelector=new B(this))}),y(r,"beforeRender",function(){var a=this.axes,b=this.rangeSelector;b&&(f(b.deferredYTDClick)&&(b.clickButton(b.deferredYTDClick),delete b.deferredYTDClick),a.forEach(function(a){a.updateNames();a.setScale()}),this.getAxisMargins(),b.render(),a=b.options.verticalAlign,b.options.floating||("bottom"===a?this.extraBottomMargin=!0:"middle"!==a&&(this.extraTopMargin=!0)))}),y(r,"update",function(a){var b=
582
- a.options.rangeSelector;a=this.rangeSelector;var c=this.extraBottomMargin,d=this.extraTopMargin;b&&b.enabled&&!x(a)&&(this.options.rangeSelector.enabled=!0,this.rangeSelector=new B(this));this.extraTopMargin=this.extraBottomMargin=!1;a&&(a.render(),b=b&&b.verticalAlign||a.options&&a.options.verticalAlign,a.options.floating||("bottom"===b?this.extraBottomMargin=!0:"middle"!==b&&(this.extraTopMargin=!0)),this.extraBottomMargin!==c||this.extraTopMargin!==d)&&(this.isDirtyBox=!0)}),y(r,"render",function(){var a=
583
- this.rangeSelector;a&&!a.options.floating&&(a.render(),a=a.options.verticalAlign,"bottom"===a?this.extraBottomMargin=!0:"middle"!==a&&(this.extraTopMargin=!0))}),y(r,"getMargins",function(){var a=this.rangeSelector;a&&(a=a.getHeight(),this.extraTopMargin&&(this.plotTop+=a),this.extraBottomMargin&&(this.marginBottom+=a))}),r.prototype.callbacks.push(function(a){function b(){c=a.xAxis[0].getExtremes();f(c.min)&&d.render(c.min,c.max)}var c,d=a.rangeSelector,e,g;d&&(g=y(a.xAxis[0],"afterSetExtremes",
584
- function(a){d.render(a.min,a.max)}),e=y(a,"redraw",b),b());y(a,"destroy",function(){d&&(e(),g())})}),a.RangeSelector=B)});J(G,"parts/Navigator.js",[G["parts/Globals.js"]],function(a){function B(a){this.init(a)}var y=a.addEvent,C=a.Axis,r=a.Chart,h=a.color,u=a.defaultOptions,t=a.defined,x=a.destroyObjectProperties,v=a.erase,q=a.extend,l=a.hasTouch,g=a.isArray,f=a.isNumber,d=a.isTouchDevice,b=a.merge,c=a.pick,e=a.removeEvent,n=a.Scrollbar,w=a.Series,z,F=function(a){var b=[].filter.call(arguments,f);
585
- if(b.length)return Math[a].apply(0,b)};z=void 0===a.seriesTypes.areaspline?"line":"areaspline";q(u,{navigator:{height:40,margin:25,maskInside:!0,handles:{width:7,height:15,symbols:["navigator-handle","navigator-handle"],enabled:!0,lineWidth:1,backgroundColor:"#f2f2f2",borderColor:"#999999"},maskFill:h("#6685c2").setOpacity(.3).get(),outlineColor:"#cccccc",outlineWidth:1,series:{type:z,fillOpacity:.05,lineWidth:1,compare:null,dataGrouping:{approximation:"average",enabled:!0,groupPixelWidth:2,smoothed:!0,
118
+ second:"%A, %b %e, %H:%M:%S",minute:"%A, %b %e, %H:%M",hour:"%A, %b %e, %H:%M",day:"%A, %b %e, %Y",week:"Week from %A, %b %e, %Y",month:"%B %Y",year:"%Y"},footerFormat:"",padding:8,snap:a.isTouchDevice?25:10,headerFormat:'\x3cspan style\x3d"font-size: 10px"\x3e{point.key}\x3c/span\x3e\x3cbr/\x3e',pointFormat:'\x3cspan style\x3d"color:{point.color}"\x3e\u25cf\x3c/span\x3e {series.name}: \x3cb\x3e{point.y}\x3c/b\x3e\x3cbr/\x3e',backgroundColor:C("#f7f7f7").setOpacity(.85).get(),borderWidth:1,shadow:!0,
119
+ style:{color:"#333333",cursor:"default",fontSize:"12px",pointerEvents:"none",whiteSpace:"nowrap"}},credits:{enabled:!0,href:"https://www.highcharts.com?credits",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#999999",fontSize:"9px"},text:"Highcharts.com"}};a.setOptions=function(z){a.defaultOptions=D(!0,a.defaultOptions,z);a.time.update(D(a.defaultOptions.global,a.defaultOptions.time),!1);return a.defaultOptions};a.getOptions=function(){return a.defaultOptions};
120
+ a.defaultPlotOptions=a.defaultOptions.plotOptions;a.time=new a.Time(D(a.defaultOptions.global,a.defaultOptions.time));a.dateFormat=function(z,l,e){return a.time.dateFormat(z,l,e)};""});J(H,"parts/Tick.js",[H["parts/Globals.js"]],function(a){var C=a.correctFloat,D=a.defined,z=a.destroyObjectProperties,l=a.fireEvent,e=a.isNumber,t=a.merge,r=a.pick,w=a.deg2rad;a.Tick=function(a,p,h,k,v){this.axis=a;this.pos=p;this.type=h||"";this.isNewLabel=this.isNew=!0;this.parameters=v||{};this.tickmarkOffset=this.parameters.tickmarkOffset;
121
+ this.options=this.parameters.options;h||k||this.addLabel()};a.Tick.prototype={addLabel:function(){var e=this,p=e.axis,h=p.options,k=p.chart,v=p.categories,g=p.names,c=e.pos,b=r(e.options&&e.options.labels,h.labels),d=p.tickPositions,f=c===d[0],y=c===d[d.length-1],v=this.parameters.category||(v?r(v[c],g[c],c):c),u=e.label,d=d.info,F,m,n,B;p.isDatetimeAxis&&d&&(m=k.time.resolveDTLFormat(h.dateTimeLabelFormats[!h.grid&&d.higherRanks[c]||d.unitName]),F=m.main);e.isFirst=f;e.isLast=y;e.formatCtx={axis:p,
122
+ chart:k,isFirst:f,isLast:y,dateTimeLabelFormat:F,tickPositionInfo:d,value:p.isLog?C(p.lin2log(v)):v,pos:c};h=p.labelFormatter.call(e.formatCtx,this.formatCtx);if(B=m&&m.list)e.shortenLabel=function(){for(n=0;n<B.length;n++)if(u.attr({text:p.labelFormatter.call(a.extend(e.formatCtx,{dateTimeLabelFormat:B[n]}))}),u.getBBox().width<p.getSlotWidth(e)-2*r(b.padding,5))return;u.attr({text:""})};if(D(u))u&&u.textStr!==h&&(!u.textWidth||b.style&&b.style.width||u.styles.width||u.css({width:null}),u.attr({text:h}),
123
+ u.textPxLength=u.getBBox().width);else{if(e.label=u=D(h)&&b.enabled?k.renderer.text(h,0,0,b.useHTML).add(p.labelGroup):null)k.styledMode||u.css(t(b.style)),u.textPxLength=u.getBBox().width;e.rotation=0}},getLabelSize:function(){return this.label?this.label.getBBox()[this.axis.horiz?"height":"width"]:0},handleOverflow:function(a){var p=this.axis,h=p.options.labels,k=a.x,v=p.chart.chartWidth,g=p.chart.spacing,c=r(p.labelLeft,Math.min(p.pos,g[3])),g=r(p.labelRight,Math.max(p.isRadial?0:p.pos+p.len,v-
124
+ g[1])),b=this.label,d=this.rotation,f={left:0,center:.5,right:1}[p.labelAlign||b.attr("align")],y=b.getBBox().width,u=p.getSlotWidth(this),e=u,m=1,n,B={};if(d||"justify"!==r(h.overflow,"justify"))0>d&&k-f*y<c?n=Math.round(k/Math.cos(d*w)-c):0<d&&k+f*y>g&&(n=Math.round((v-k)/Math.cos(d*w)));else if(v=k+(1-f)*y,k-f*y<c?e=a.x+e*(1-f)-c:v>g&&(e=g-a.x+e*f,m=-1),e=Math.min(u,e),e<u&&"center"===p.labelAlign&&(a.x+=m*(u-e-f*(u-Math.min(y,e)))),y>e||p.autoRotation&&(b.styles||{}).width)n=e;n&&(this.shortenLabel?
125
+ this.shortenLabel():(B.width=Math.floor(n),(h.style||{}).textOverflow||(B.textOverflow="ellipsis"),b.css(B)))},getPosition:function(e,p,h,k){var v=this.axis,g=v.chart,c=k&&g.oldChartHeight||g.chartHeight;e={x:e?a.correctFloat(v.translate(p+h,null,null,k)+v.transB):v.left+v.offset+(v.opposite?(k&&g.oldChartWidth||g.chartWidth)-v.right-v.left:0),y:e?c-v.bottom+v.offset-(v.opposite?v.height:0):a.correctFloat(c-v.translate(p+h,null,null,k)-v.transB)};e.y=Math.max(Math.min(e.y,1E5),-1E5);l(this,"afterGetPosition",
126
+ {pos:e});return e},getLabelPosition:function(a,p,h,k,e,g,c,b){var d=this.axis,f=d.transA,y=d.reversed,u=d.staggerLines,v=d.tickRotCorr||{x:0,y:0},m=e.y,n=k||d.reserveSpaceDefault?0:-d.labelOffset*("center"===d.labelAlign?.5:1),B={};D(m)||(m=0===d.side?h.rotation?-8:-h.getBBox().height:2===d.side?v.y+8:Math.cos(h.rotation*w)*(v.y-h.getBBox(!1,0).height/2));a=a+e.x+n+v.x-(g&&k?g*f*(y?-1:1):0);p=p+m-(g&&!k?g*f*(y?1:-1):0);u&&(h=c/(b||1)%u,d.opposite&&(h=u-h-1),p+=d.labelOffset/u*h);B.x=a;B.y=Math.round(p);
127
+ l(this,"afterGetLabelPosition",{pos:B,tickmarkOffset:g,index:c});return B},getMarkPath:function(a,p,h,k,e,g){return g.crispLine(["M",a,p,"L",a+(e?0:-h),p+(e?h:0)],k)},renderGridLine:function(a,p,h){var k=this.axis,e=k.options,g=this.gridLine,c={},b=this.pos,d=this.type,f=r(this.tickmarkOffset,k.tickmarkOffset),y=k.chart.renderer,u=d?d+"Grid":"grid",F=e[u+"LineWidth"],m=e[u+"LineColor"],e=e[u+"LineDashStyle"];g||(k.chart.styledMode||(c.stroke=m,c["stroke-width"]=F,e&&(c.dashstyle=e)),d||(c.zIndex=
128
+ 1),a&&(p=0),this.gridLine=g=y.path().attr(c).addClass("highcharts-"+(d?d+"-":"")+"grid-line").add(k.gridGroup));if(g&&(h=k.getPlotLinePath({value:b+f,lineWidth:g.strokeWidth()*h,force:"pass",old:a})))g[a||this.isNew?"attr":"animate"]({d:h,opacity:p})},renderMark:function(a,p,h){var k=this.axis,e=k.options,g=k.chart.renderer,c=this.type,b=c?c+"Tick":"tick",d=k.tickSize(b),f=this.mark,y=!f,u=a.x;a=a.y;var F=r(e[b+"Width"],!c&&k.isXAxis?1:0),e=e[b+"Color"];d&&(k.opposite&&(d[0]=-d[0]),y&&(this.mark=
129
+ f=g.path().addClass("highcharts-"+(c?c+"-":"")+"tick").add(k.axisGroup),k.chart.styledMode||f.attr({stroke:e,"stroke-width":F})),f[y?"attr":"animate"]({d:this.getMarkPath(u,a,d[0],f.strokeWidth()*h,k.horiz,g),opacity:p}))},renderLabel:function(a,p,h,k){var v=this.axis,g=v.horiz,c=v.options,b=this.label,d=c.labels,f=d.step,v=r(this.tickmarkOffset,v.tickmarkOffset),y=!0,u=a.x;a=a.y;b&&e(u)&&(b.xy=a=this.getLabelPosition(u,a,b,g,d,v,k,f),this.isFirst&&!this.isLast&&!r(c.showFirstLabel,1)||this.isLast&&
130
+ !this.isFirst&&!r(c.showLastLabel,1)?y=!1:!g||d.step||d.rotation||p||0===h||this.handleOverflow(a),f&&k%f&&(y=!1),y&&e(a.y)?(a.opacity=h,b[this.isNewLabel?"attr":"animate"](a),this.isNewLabel=!1):(b.attr("y",-9999),this.isNewLabel=!0))},render:function(e,p,h){var k=this.axis,v=k.horiz,g=this.pos,c=r(this.tickmarkOffset,k.tickmarkOffset),g=this.getPosition(v,g,c,p),c=g.x,b=g.y,k=v&&c===k.pos+k.len||!v&&b===k.pos?-1:1;h=r(h,1);this.isActive=!0;this.renderGridLine(p,h,k);this.renderMark(g,h,k);this.renderLabel(g,
131
+ p,h,e);this.isNew=!1;a.fireEvent(this,"afterRender")},destroy:function(){z(this,this.axis)}}});J(H,"parts/Axis.js",[H["parts/Globals.js"]],function(a){var C=a.addEvent,D=a.animObject,z=a.arrayMax,l=a.arrayMin,e=a.color,t=a.correctFloat,r=a.defaultOptions,w=a.defined,x=a.deg2rad,p=a.destroyObjectProperties,h=a.extend,k=a.fireEvent,v=a.format,g=a.getMagnitude,c=a.isArray,b=a.isNumber,d=a.isString,f=a.merge,y=a.normalizeTickInterval,u=a.objectEach,F=a.pick,m=a.removeEvent,n=a.seriesTypes,B=a.splat,E=
132
+ a.syncTimeout,G=a.Tick,A=function(){this.init.apply(this,arguments)};a.extend(A.prototype,{defaultOptions:{dateTimeLabelFormats:{millisecond:{main:"%H:%M:%S.%L",range:!1},second:{main:"%H:%M:%S",range:!1},minute:{main:"%H:%M",range:!1},hour:{main:"%H:%M",range:!1},day:{main:"%e. %b"},week:{main:"%e. %b"},month:{main:"%b '%y"},year:{main:"%Y"}},endOnTick:!1,labels:{enabled:!0,indentation:10,x:0,style:{color:"#666666",cursor:"default",fontSize:"11px"}},maxPadding:.01,minorTickLength:2,minorTickPosition:"outside",
133
+ minPadding:.01,showEmpty:!0,startOfWeek:1,startOnTick:!1,tickLength:10,tickPixelInterval:100,tickmarkPlacement:"between",tickPosition:"outside",title:{align:"middle",style:{color:"#666666"}},type:"linear",minorGridLineColor:"#f2f2f2",minorGridLineWidth:1,minorTickColor:"#999999",lineColor:"#ccd6eb",lineWidth:1,gridLineColor:"#e6e6e6",tickColor:"#ccd6eb"},defaultYAxisOptions:{endOnTick:!0,maxPadding:.05,minPadding:.05,tickPixelInterval:72,showLastLabel:!0,labels:{x:-8},startOnTick:!0,title:{rotation:270,
134
+ text:"Values"},stackLabels:{allowOverlap:!1,enabled:!1,formatter:function(){return a.numberFormat(this.total,-1)},style:{color:"#000000",fontSize:"11px",fontWeight:"bold",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0},defaultLeftAxisOptions:{labels:{x:-15},title:{rotation:270}},defaultRightAxisOptions:{labels:{x:15},title:{rotation:90}},defaultBottomAxisOptions:{labels:{autoRotation:[-45],x:0},margin:15,title:{rotation:0}},defaultTopAxisOptions:{labels:{autoRotation:[-45],x:0},margin:15,
135
+ title:{rotation:0}},init:function(b,c){var q=c.isX,d=this;d.chart=b;d.horiz=b.inverted&&!d.isZAxis?!q:q;d.isXAxis=q;d.coll=d.coll||(q?"xAxis":"yAxis");k(this,"init",{userOptions:c});d.opposite=c.opposite;d.side=c.side||(d.horiz?d.opposite?0:2:d.opposite?1:3);d.setOptions(c);var f=this.options,g=f.type;d.labelFormatter=f.labels.formatter||d.defaultLabelFormatter;d.userOptions=c;d.minPixelPadding=0;d.reversed=f.reversed;d.visible=!1!==f.visible;d.zoomEnabled=!1!==f.zoomEnabled;d.hasNames="category"===
136
+ g||!0===f.categories;d.categories=f.categories||d.hasNames;d.names||(d.names=[],d.names.keys={});d.plotLinesAndBandsGroups={};d.isLog="logarithmic"===g;d.isDatetimeAxis="datetime"===g;d.positiveValuesOnly=d.isLog&&!d.allowNegativeLog;d.isLinked=w(f.linkedTo);d.ticks={};d.labelEdge=[];d.minorTicks={};d.plotLinesAndBands=[];d.alternateBands={};d.len=0;d.minRange=d.userMinRange=f.minRange||f.maxZoom;d.range=f.range;d.offset=f.offset||0;d.stacks={};d.oldStacks={};d.stacksTouched=0;d.max=null;d.min=null;
137
+ d.crosshair=F(f.crosshair,B(b.options.tooltip.crosshairs)[q?0:1],!1);c=d.options.events;-1===b.axes.indexOf(d)&&(q?b.axes.splice(b.xAxis.length,0,d):b.axes.push(d),b[d.coll].push(d));d.series=d.series||[];b.inverted&&!d.isZAxis&&q&&void 0===d.reversed&&(d.reversed=!0);u(c,function(b,q){a.isFunction(b)&&C(d,q,b)});d.lin2log=f.linearToLogConverter||d.lin2log;d.isLog&&(d.val2lin=d.log2lin,d.lin2val=d.lin2log);k(this,"afterInit")},setOptions:function(a){this.options=f(this.defaultOptions,"yAxis"===this.coll&&
138
+ this.defaultYAxisOptions,[this.defaultTopAxisOptions,this.defaultRightAxisOptions,this.defaultBottomAxisOptions,this.defaultLeftAxisOptions][this.side],f(r[this.coll],a));k(this,"afterSetOptions",{userOptions:a})},defaultLabelFormatter:function(){var b=this.axis,d=this.value,c=b.chart.time,f=b.categories,g=this.dateTimeLabelFormat,n=r.lang,m=n.numericSymbols,n=n.numericSymbolMagnitude||1E3,u=m&&m.length,k,E=b.options.labels.format,b=b.isLog?Math.abs(d):b.tickInterval;if(E)k=v(E,this,c);else if(f)k=
139
+ d;else if(g)k=c.dateFormat(g,d);else if(u&&1E3<=b)for(;u--&&void 0===k;)c=Math.pow(n,u+1),b>=c&&0===10*d%c&&null!==m[u]&&0!==d&&(k=a.numberFormat(d/c,-1)+m[u]);void 0===k&&(k=1E4<=Math.abs(d)?a.numberFormat(d,-1):a.numberFormat(d,-1,void 0,""));return k},getSeriesExtremes:function(){var a=this,d=a.chart,c;k(this,"getSeriesExtremes",null,function(){a.hasVisibleSeries=!1;a.dataMin=a.dataMax=a.threshold=null;a.softThreshold=!a.isXAxis;a.buildStacks&&a.buildStacks();a.series.forEach(function(q){if(q.visible||
140
+ !d.options.chart.ignoreHiddenSeries){var f=q.options,g=f.threshold,n,m;a.hasVisibleSeries=!0;a.positiveValuesOnly&&0>=g&&(g=null);if(a.isXAxis)f=q.xData,f.length&&(c=q.getXExtremes(f),n=c.min,m=c.max,b(n)||n instanceof Date||(f=f.filter(b),c=q.getXExtremes(f),n=c.min,m=c.max),f.length&&(a.dataMin=Math.min(F(a.dataMin,n),n),a.dataMax=Math.max(F(a.dataMax,m),m)));else if(q.getExtremes(),m=q.dataMax,n=q.dataMin,w(n)&&w(m)&&(a.dataMin=Math.min(F(a.dataMin,n),n),a.dataMax=Math.max(F(a.dataMax,m),m)),w(g)&&
141
+ (a.threshold=g),!f.softThreshold||a.positiveValuesOnly)a.softThreshold=!1}})});k(this,"afterGetSeriesExtremes")},translate:function(a,d,c,f,n,g){var q=this.linkedParent||this,m=1,I=0,u=f?q.oldTransA:q.transA;f=f?q.oldMin:q.min;var k=q.minPixelPadding;n=(q.isOrdinal||q.isBroken||q.isLog&&n)&&q.lin2val;u||(u=q.transA);c&&(m*=-1,I=q.len);q.reversed&&(m*=-1,I-=m*(q.sector||q.len));d?(a=(a*m+I-k)/u+f,n&&(a=q.lin2val(a))):(n&&(a=q.val2lin(a)),a=b(f)?m*(a-f)*u+I+m*k+(b(g)?u*g:0):void 0);return a},toPixels:function(a,
142
+ b){return this.translate(a,!1,!this.horiz,null,!0)+(b?0:this.pos)},toValue:function(a,b){return this.translate(a-(b?0:this.pos),!0,!this.horiz,null,!0)},getPlotLinePath:function(a){var d=this,q=d.chart,c=d.left,f=d.top,n=a.old,g=a.value,m=a.translatedValue,u=a.lineWidth,E=a.force,B,h,A,G,y=n&&q.oldChartHeight||q.chartHeight,e=n&&q.oldChartWidth||q.chartWidth,p,v=d.transB,l=function(a,b,d){if("pass"!==E&&a<b||a>d)E?a=Math.min(Math.max(b,a),d):p=!0;return a};a={value:g,lineWidth:u,old:n,force:E,acrossPanes:a.acrossPanes,
143
+ translatedValue:m};k(this,"getPlotLinePath",a,function(a){m=F(m,d.translate(g,null,null,n));m=Math.min(Math.max(-1E5,m),1E5);B=A=Math.round(m+v);h=G=Math.round(y-m-v);b(m)?d.horiz?(h=f,G=y-d.bottom,B=A=l(B,c,c+d.width)):(B=c,A=e-d.right,h=G=l(h,f,f+d.height)):(p=!0,E=!1);a.path=p&&!E?null:q.renderer.crispLine(["M",B,h,"L",A,G],u||1)});return a.path},getLinearTickPositions:function(a,b,d){var q,c=t(Math.floor(b/a)*a);d=t(Math.ceil(d/a)*a);var f=[],n;t(c+a)===c&&(n=20);if(this.single)return[b];for(b=
144
+ c;b<=d;){f.push(b);b=t(b+a,n);if(b===q)break;q=b}return f},getMinorTickInterval:function(){var a=this.options;return!0===a.minorTicks?F(a.minorTickInterval,"auto"):!1===a.minorTicks?null:a.minorTickInterval},getMinorTickPositions:function(){var a=this,b=a.options,d=a.tickPositions,c=a.minorTickInterval,f=[],n=a.pointRangePadding||0,g=a.min-n,n=a.max+n,m=n-g;if(m&&m/c<a.len/3)if(a.isLog)this.paddedTicks.forEach(function(b,d,q){d&&f.push.apply(f,a.getLogTickPositions(c,q[d-1],q[d],!0))});else if(a.isDatetimeAxis&&
145
+ "auto"===this.getMinorTickInterval())f=f.concat(a.getTimeTicks(a.normalizeTimeTickInterval(c),g,n,b.startOfWeek));else for(b=g+(d[0]-g)%c;b<=n&&b!==f[0];b+=c)f.push(b);0!==f.length&&a.trimTicks(f);return f},adjustForMinRange:function(){var a=this.options,b=this.min,d=this.max,c,f,n,g,m,u,k,E;this.isXAxis&&void 0===this.minRange&&!this.isLog&&(w(a.min)||w(a.max)?this.minRange=null:(this.series.forEach(function(a){u=a.xData;for(g=k=a.xIncrement?1:u.length-1;0<g;g--)if(m=u[g]-u[g-1],void 0===n||m<n)n=
146
+ m}),this.minRange=Math.min(5*n,this.dataMax-this.dataMin)));d-b<this.minRange&&(f=this.dataMax-this.dataMin>=this.minRange,E=this.minRange,c=(E-d+b)/2,c=[b-c,F(a.min,b-c)],f&&(c[2]=this.isLog?this.log2lin(this.dataMin):this.dataMin),b=z(c),d=[b+E,F(a.max,b+E)],f&&(d[2]=this.isLog?this.log2lin(this.dataMax):this.dataMax),d=l(d),d-b<E&&(c[0]=d-E,c[1]=F(a.min,d-E),b=z(c)));this.min=b;this.max=d},getClosest:function(){var a;this.categories?a=1:this.series.forEach(function(b){var d=b.closestPointRange,
147
+ c=b.visible||!b.chart.options.chart.ignoreHiddenSeries;!b.noSharedTooltip&&w(d)&&c&&(a=w(a)?Math.min(a,d):d)});return a},nameToX:function(a){var b=c(this.categories),d=b?this.categories:this.names,q=a.options.x,f;a.series.requireSorting=!1;w(q)||(q=!1===this.options.uniqueNames?a.series.autoIncrement():b?d.indexOf(a.name):F(d.keys[a.name],-1));-1===q?b||(f=d.length):f=q;void 0!==f&&(this.names[f]=a.name,this.names.keys[a.name]=f);return f},updateNames:function(){var a=this,b=this.names;0<b.length&&
148
+ (Object.keys(b.keys).forEach(function(a){delete b.keys[a]}),b.length=0,this.minRange=this.userMinRange,(this.series||[]).forEach(function(b){b.xIncrement=null;if(!b.points||b.isDirtyData)a.max=Math.max(a.max,b.xData.length-1),b.processData(),b.generatePoints();b.data.forEach(function(d,c){var q;d&&d.options&&void 0!==d.name&&(q=a.nameToX(d),void 0!==q&&q!==d.x&&(d.x=q,b.xData[c]=q))})}))},setAxisTranslation:function(a){var b=this,c=b.max-b.min,q=b.axisPointRange||0,f,g=0,m=0,u=b.linkedParent,E=!!b.categories,
149
+ B=b.transA,h=b.isXAxis;if(h||E||q)f=b.getClosest(),u?(g=u.minPointOffset,m=u.pointRangePadding):b.series.forEach(function(a){var c=E?1:h?F(a.options.pointRange,f,0):b.axisPointRange||0,u=a.options.pointPlacement;q=Math.max(q,c);if(!b.single||E)a=n.xrange&&a instanceof n.xrange?!h:h,g=Math.max(g,a&&d(u)?0:c/2),m=Math.max(m,a&&"on"===u?0:c)}),u=b.ordinalSlope&&f?b.ordinalSlope/f:1,b.minPointOffset=g*=u,b.pointRangePadding=m*=u,b.pointRange=Math.min(q,c),h&&(b.closestPointRange=f);a&&(b.oldTransA=B);
150
+ b.translationSlope=b.transA=B=b.staticScale||b.len/(c+m||1);b.transB=b.horiz?b.left:b.bottom;b.minPixelPadding=B*g;k(this,"afterSetAxisTranslation")},minFromRange:function(){return this.max-this.range},setTickInterval:function(d){var c=this,q=c.chart,f=c.options,n=c.isLog,m=c.isDatetimeAxis,u=c.isXAxis,E=c.isLinked,B=f.maxPadding,h=f.minPadding,A,G=f.tickInterval,e=f.tickPixelInterval,p=c.categories,v=b(c.threshold)?c.threshold:null,l=c.softThreshold,r,x,z;m||p||E||this.getTickAmount();x=F(c.userMin,
151
+ f.min);z=F(c.userMax,f.max);E?(c.linkedParent=q[c.coll][f.linkedTo],A=c.linkedParent.getExtremes(),c.min=F(A.min,A.dataMin),c.max=F(A.max,A.dataMax),f.type!==c.linkedParent.options.type&&a.error(11,1,q)):(!l&&w(v)&&(c.dataMin>=v?(A=v,h=0):c.dataMax<=v&&(r=v,B=0)),c.min=F(x,A,c.dataMin),c.max=F(z,r,c.dataMax));n&&(c.positiveValuesOnly&&!d&&0>=Math.min(c.min,F(c.dataMin,c.min))&&a.error(10,1,q),c.min=t(c.log2lin(c.min),15),c.max=t(c.log2lin(c.max),15));c.range&&w(c.max)&&(c.userMin=c.min=x=Math.max(c.dataMin,
152
+ c.minFromRange()),c.userMax=z=c.max,c.range=null);k(c,"foundExtremes");c.beforePadding&&c.beforePadding();c.adjustForMinRange();!(p||c.axisPointRange||c.usePercentage||E)&&w(c.min)&&w(c.max)&&(q=c.max-c.min)&&(!w(x)&&h&&(c.min-=q*h),!w(z)&&B&&(c.max+=q*B));b(f.softMin)&&!b(c.userMin)&&f.softMin<c.min&&(c.min=x=f.softMin);b(f.softMax)&&!b(c.userMax)&&f.softMax>c.max&&(c.max=z=f.softMax);b(f.floor)&&(c.min=Math.min(Math.max(c.min,f.floor),Number.MAX_VALUE));b(f.ceiling)&&(c.max=Math.max(Math.min(c.max,
153
+ f.ceiling),F(c.userMax,-Number.MAX_VALUE)));l&&w(c.dataMin)&&(v=v||0,!w(x)&&c.min<v&&c.dataMin>=v?c.min=c.options.minRange?Math.min(v,c.max-c.minRange):v:!w(z)&&c.max>v&&c.dataMax<=v&&(c.max=c.options.minRange?Math.max(v,c.min+c.minRange):v));c.tickInterval=c.min===c.max||void 0===c.min||void 0===c.max?1:E&&!G&&e===c.linkedParent.options.tickPixelInterval?G=c.linkedParent.tickInterval:F(G,this.tickAmount?(c.max-c.min)/Math.max(this.tickAmount-1,1):void 0,p?1:(c.max-c.min)*e/Math.max(c.len,e));u&&
154
+ !d&&c.series.forEach(function(a){a.processData(c.min!==c.oldMin||c.max!==c.oldMax)});c.setAxisTranslation(!0);c.beforeSetTickPositions&&c.beforeSetTickPositions();c.postProcessTickInterval&&(c.tickInterval=c.postProcessTickInterval(c.tickInterval));c.pointRange&&!G&&(c.tickInterval=Math.max(c.pointRange,c.tickInterval));d=F(f.minTickInterval,c.isDatetimeAxis&&c.closestPointRange);!G&&c.tickInterval<d&&(c.tickInterval=d);m||n||G||(c.tickInterval=y(c.tickInterval,null,g(c.tickInterval),F(f.allowDecimals,
155
+ !(.5<c.tickInterval&&5>c.tickInterval&&1E3<c.max&&9999>c.max)),!!this.tickAmount));this.tickAmount||(c.tickInterval=c.unsquish());this.setTickPositions()},setTickPositions:function(){var b=this.options,c,d=b.tickPositions;c=this.getMinorTickInterval();var f=b.tickPositioner,n=b.startOnTick,g=b.endOnTick;this.tickmarkOffset=this.categories&&"between"===b.tickmarkPlacement&&1===this.tickInterval?.5:0;this.minorTickInterval="auto"===c&&this.tickInterval?this.tickInterval/5:c;this.single=this.min===this.max&&
156
+ w(this.min)&&!this.tickAmount&&(parseInt(this.min,10)===this.min||!1!==b.allowDecimals);this.tickPositions=c=d&&d.slice();!c&&(!this.ordinalPositions&&(this.max-this.min)/this.tickInterval>Math.max(2*this.len,200)?(c=[this.min,this.max],a.error(19,!1,this.chart)):c=this.isDatetimeAxis?this.getTimeTicks(this.normalizeTimeTickInterval(this.tickInterval,b.units),this.min,this.max,b.startOfWeek,this.ordinalPositions,this.closestPointRange,!0):this.isLog?this.getLogTickPositions(this.tickInterval,this.min,
157
+ this.max):this.getLinearTickPositions(this.tickInterval,this.min,this.max),c.length>this.len&&(c=[c[0],c.pop()],c[0]===c[1]&&(c.length=1)),this.tickPositions=c,f&&(f=f.apply(this,[this.min,this.max])))&&(this.tickPositions=c=f);this.paddedTicks=c.slice(0);this.trimTicks(c,n,g);this.isLinked||(this.single&&2>c.length&&!this.categories&&(this.min-=.5,this.max+=.5),d||f||this.adjustTickAmount());k(this,"afterSetTickPositions")},trimTicks:function(a,b,c){var d=a[0],q=a[a.length-1],f=this.minPointOffset||
158
+ 0;k(this,"trimTicks");if(!this.isLinked){if(b&&-Infinity!==d)this.min=d;else for(;this.min-f>a[0];)a.shift();if(c)this.max=q;else for(;this.max+f<a[a.length-1];)a.pop();0===a.length&&w(d)&&!this.options.tickPositions&&a.push((q+d)/2)}},alignToOthers:function(){var a={},b,c=this.options;!1===this.chart.options.chart.alignTicks||!1===c.alignTicks||!1===c.startOnTick||!1===c.endOnTick||this.isLog||this.chart[this.coll].forEach(function(c){var d=c.options,d=[c.horiz?d.left:d.top,d.width,d.height,d.pane].join();
159
+ c.series.length&&(a[d]?b=!0:a[d]=1)});return b},getTickAmount:function(){var a=this.options,b=a.tickAmount,c=a.tickPixelInterval;!w(a.tickInterval)&&this.len<c&&!this.isRadial&&!this.isLog&&a.startOnTick&&a.endOnTick&&(b=2);!b&&this.alignToOthers()&&(b=Math.ceil(this.len/c)+1);4>b&&(this.finalTickAmt=b,b=5);this.tickAmount=b},adjustTickAmount:function(){var a=this.options,b=this.tickInterval,c=this.tickPositions,d=this.tickAmount,f=this.finalTickAmt,n=c&&c.length,g=F(this.threshold,this.softThreshold?
160
+ 0:null),m;if(this.hasData()){if(n<d){for(m=this.min;c.length<d;)c.length%2||m===g?c.push(t(c[c.length-1]+b)):c.unshift(t(c[0]-b));this.transA*=(n-1)/(d-1);this.min=a.startOnTick?c[0]:Math.min(this.min,c[0]);this.max=a.endOnTick?c[c.length-1]:Math.max(this.max,c[c.length-1])}else n>d&&(this.tickInterval*=2,this.setTickPositions());if(w(f)){for(b=a=c.length;b--;)(3===f&&1===b%2||2>=f&&0<b&&b<a-1)&&c.splice(b,1);this.finalTickAmt=void 0}}},setScale:function(){var a=this.series.some(function(a){return a.isDirtyData||
161
+ a.isDirty||a.xAxis.isDirty}),b;this.oldMin=this.min;this.oldMax=this.max;this.oldAxisLength=this.len;this.setAxisSize();(b=this.len!==this.oldAxisLength)||a||this.isLinked||this.forceRedraw||this.userMin!==this.oldUserMin||this.userMax!==this.oldUserMax||this.alignToOthers()?(this.resetStacks&&this.resetStacks(),this.forceRedraw=!1,this.getSeriesExtremes(),this.setTickInterval(),this.oldUserMin=this.userMin,this.oldUserMax=this.userMax,this.isDirty||(this.isDirty=b||this.min!==this.oldMin||this.max!==
162
+ this.oldMax)):this.cleanStacks&&this.cleanStacks();k(this,"afterSetScale")},setExtremes:function(a,b,c,d,f){var q=this,n=q.chart;c=F(c,!0);q.series.forEach(function(a){delete a.kdTree});f=h(f,{min:a,max:b});k(q,"setExtremes",f,function(){q.userMin=a;q.userMax=b;q.eventArgs=f;c&&n.redraw(d)})},zoom:function(a,b){var c=this.dataMin,d=this.dataMax,f=this.options,q=Math.min(c,F(f.min,c)),n=Math.max(d,F(f.max,d));a={newMin:a,newMax:b};k(this,"zoom",a,function(a){var b=a.newMin,f=a.newMax;if(b!==this.min||
163
+ f!==this.max)this.allowZoomOutside||(w(c)&&(b<q&&(b=q),b>n&&(b=n)),w(d)&&(f<q&&(f=q),f>n&&(f=n))),this.displayBtn=void 0!==b||void 0!==f,this.setExtremes(b,f,!1,void 0,{trigger:"zoom"});a.zoomed=!0});return a.zoomed},setAxisSize:function(){var b=this.chart,c=this.options,d=c.offsets||[0,0,0,0],f=this.horiz,n=this.width=Math.round(a.relativeLength(F(c.width,b.plotWidth-d[3]+d[1]),b.plotWidth)),g=this.height=Math.round(a.relativeLength(F(c.height,b.plotHeight-d[0]+d[2]),b.plotHeight)),m=this.top=Math.round(a.relativeLength(F(c.top,
164
+ b.plotTop+d[0]),b.plotHeight,b.plotTop)),c=this.left=Math.round(a.relativeLength(F(c.left,b.plotLeft+d[3]),b.plotWidth,b.plotLeft));this.bottom=b.chartHeight-g-m;this.right=b.chartWidth-n-c;this.len=Math.max(f?n:g,0);this.pos=f?c:m},getExtremes:function(){var a=this.isLog;return{min:a?t(this.lin2log(this.min)):this.min,max:a?t(this.lin2log(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}},getThreshold:function(a){var b=this.isLog,c=b?this.lin2log(this.min):
165
+ this.min,b=b?this.lin2log(this.max):this.max;null===a||-Infinity===a?a=c:Infinity===a?a=b:c>a?a=c:b<a&&(a=b);return this.translate(a,0,1,0,1)},autoLabelAlign:function(a){var b=(F(a,0)-90*this.side+720)%360;a={align:"center"};k(this,"autoLabelAlign",a,function(a){15<b&&165>b?a.align="right":195<b&&345>b&&(a.align="left")});return a.align},tickSize:function(a){var b=this.options,c=b[a+"Length"],d=F(b[a+"Width"],"tick"===a&&this.isXAxis&&!this.categories?1:0),f;d&&c&&("inside"===b[a+"Position"]&&(c=
166
+ -c),f=[c,d]);a={tickSize:f};k(this,"afterTickSize",a);return a.tickSize},labelMetrics:function(){var a=this.tickPositions&&this.tickPositions[0]||0;return this.chart.renderer.fontMetrics(this.options.labels.style&&this.options.labels.style.fontSize,this.ticks[a]&&this.ticks[a].label)},unsquish:function(){var a=this.options.labels,b=this.horiz,c=this.tickInterval,d=c,f=this.len/(((this.categories?1:0)+this.max-this.min)/c),n,g=a.rotation,m=this.labelMetrics(),u,E=Number.MAX_VALUE,k,B=this.max-this.min,
167
+ h=function(a){var b=a/(f||1),b=1<b?Math.ceil(b):1;b*c>B&&Infinity!==a&&Infinity!==f&&(b=Math.ceil(B/c));return t(b*c)};b?(k=!a.staggerLines&&!a.step&&(w(g)?[g]:f<F(a.autoRotationLimit,80)&&a.autoRotation))&&k.forEach(function(a){var b;if(a===g||a&&-90<=a&&90>=a)u=h(Math.abs(m.h/Math.sin(x*a))),b=u+Math.abs(a/360),b<E&&(E=b,n=a,d=u)}):a.step||(d=h(m.h));this.autoRotation=k;this.labelRotation=F(n,g);return d},getSlotWidth:function(a){var b=this.chart,c=this.horiz,d=this.options.labels,f=Math.max(this.tickPositions.length-
168
+ (this.categories?0:1),1),q=b.margin[3];return a&&a.slotWidth||c&&2>(d.step||0)&&!d.rotation&&(this.staggerLines||1)*this.len/f||!c&&(d.style&&parseInt(d.style.width,10)||q&&q-b.spacing[3]||.33*b.chartWidth)},renderUnsquish:function(){var a=this.chart,b=a.renderer,c=this.tickPositions,f=this.ticks,n=this.options.labels,g=n&&n.style||{},m=this.horiz,u=this.getSlotWidth(),E=Math.max(1,Math.round(u-2*(n.padding||5))),k={},B=this.labelMetrics(),h=n.style&&n.style.textOverflow,A,G,y=0,e;d(n.rotation)||
169
+ (k.rotation=n.rotation||0);c.forEach(function(a){(a=f[a])&&a.label&&a.label.textPxLength>y&&(y=a.label.textPxLength)});this.maxLabelLength=y;if(this.autoRotation)y>E&&y>B.h?k.rotation=this.labelRotation:this.labelRotation=0;else if(u&&(A=E,!h))for(G="clip",E=c.length;!m&&E--;)if(e=c[E],e=f[e].label)e.styles&&"ellipsis"===e.styles.textOverflow?e.css({textOverflow:"clip"}):e.textPxLength>u&&e.css({width:u+"px"}),e.getBBox().height>this.len/c.length-(B.h-B.f)&&(e.specificTextOverflow="ellipsis");k.rotation&&
170
+ (A=y>.5*a.chartHeight?.33*a.chartHeight:y,h||(G="ellipsis"));if(this.labelAlign=n.align||this.autoLabelAlign(this.labelRotation))k.align=this.labelAlign;c.forEach(function(a){var b=(a=f[a])&&a.label,c=g.width,d={};b&&(b.attr(k),a.shortenLabel?a.shortenLabel():A&&!c&&"nowrap"!==g.whiteSpace&&(A<b.textPxLength||"SPAN"===b.element.tagName)?(d.width=A,h||(d.textOverflow=b.specificTextOverflow||G),b.css(d)):b.styles&&b.styles.width&&!d.width&&!c&&b.css({width:null}),delete b.specificTextOverflow,a.rotation=
171
+ k.rotation)},this);this.tickRotCorr=b.rotCorr(B.b,this.labelRotation||0,0!==this.side)},hasData:function(){return this.series.some(function(a){return a.hasData()})||this.options.showEmpty&&w(this.min)&&w(this.max)},addTitle:function(a){var b=this.chart.renderer,c=this.horiz,d=this.opposite,q=this.options.title,n,g=this.chart.styledMode;this.axisTitle||((n=q.textAlign)||(n=(c?{low:"left",middle:"center",high:"right"}:{low:d?"right":"left",middle:"center",high:d?"left":"right"})[q.align]),this.axisTitle=
172
+ b.text(q.text,0,0,q.useHTML).attr({zIndex:7,rotation:q.rotation||0,align:n}).addClass("highcharts-axis-title"),g||this.axisTitle.css(f(q.style)),this.axisTitle.add(this.axisGroup),this.axisTitle.isNew=!0);g||q.style.width||this.isRadial||this.axisTitle.css({width:this.len});this.axisTitle[a?"show":"hide"](!0)},generateTick:function(a){var b=this.ticks;b[a]?b[a].addLabel():b[a]=new G(this,a)},getOffset:function(){var a=this,b=a.chart,c=b.renderer,d=a.options,f=a.tickPositions,n=a.ticks,g=a.horiz,m=
173
+ a.side,E=b.inverted&&!a.isZAxis?[1,0,3,2][m]:m,B,h,A=0,G,y=0,e=d.title,p=d.labels,v=0,l=b.axisOffset,b=b.clipOffset,r=[-1,1,1,-1][m],x=d.className,t=a.axisParent;B=a.hasData();a.showAxis=h=B||F(d.showEmpty,!0);a.staggerLines=a.horiz&&p.staggerLines;a.axisGroup||(a.gridGroup=c.g("grid").attr({zIndex:d.gridZIndex||1}).addClass("highcharts-"+this.coll.toLowerCase()+"-grid "+(x||"")).add(t),a.axisGroup=c.g("axis").attr({zIndex:d.zIndex||2}).addClass("highcharts-"+this.coll.toLowerCase()+" "+(x||"")).add(t),
174
+ a.labelGroup=c.g("axis-labels").attr({zIndex:p.zIndex||7}).addClass("highcharts-"+a.coll.toLowerCase()+"-labels "+(x||"")).add(t));B||a.isLinked?(f.forEach(function(b,c){a.generateTick(b,c)}),a.renderUnsquish(),a.reserveSpaceDefault=0===m||2===m||{1:"left",3:"right"}[m]===a.labelAlign,F(p.reserveSpace,"center"===a.labelAlign?!0:null,a.reserveSpaceDefault)&&f.forEach(function(a){v=Math.max(n[a].getLabelSize(),v)}),a.staggerLines&&(v*=a.staggerLines),a.labelOffset=v*(a.opposite?-1:1)):u(n,function(a,
175
+ b){a.destroy();delete n[b]});e&&e.text&&!1!==e.enabled&&(a.addTitle(h),h&&!1!==e.reserveSpace&&(a.titleOffset=A=a.axisTitle.getBBox()[g?"height":"width"],G=e.offset,y=w(G)?0:F(e.margin,g?5:10)));a.renderLine();a.offset=r*F(d.offset,l[m]?l[m]+(d.margin||0):0);a.tickRotCorr=a.tickRotCorr||{x:0,y:0};c=0===m?-a.labelMetrics().h:2===m?a.tickRotCorr.y:0;y=Math.abs(v)+y;v&&(y=y-c+r*(g?F(p.y,a.tickRotCorr.y+8*r):p.x));a.axisTitleMargin=F(G,y);a.getMaxLabelDimensions&&(a.maxLabelDimensions=a.getMaxLabelDimensions(n,
176
+ f));g=this.tickSize("tick");l[m]=Math.max(l[m],a.axisTitleMargin+A+r*a.offset,y,f&&f.length&&g?g[0]+r*a.offset:0);d=d.offset?0:2*Math.floor(a.axisLine.strokeWidth()/2);b[E]=Math.max(b[E],d);k(this,"afterGetOffset")},getLinePath:function(a){var b=this.chart,c=this.opposite,d=this.offset,f=this.horiz,q=this.left+(c?this.width:0)+d,d=b.chartHeight-this.bottom-(c?this.height:0)+d;c&&(a*=-1);return b.renderer.crispLine(["M",f?this.left:q,f?d:this.top,"L",f?b.chartWidth-this.right:q,f?d:b.chartHeight-this.bottom],
177
+ a)},renderLine:function(){this.axisLine||(this.axisLine=this.chart.renderer.path().addClass("highcharts-axis-line").add(this.axisGroup),this.chart.styledMode||this.axisLine.attr({stroke:this.options.lineColor,"stroke-width":this.options.lineWidth,zIndex:7}))},getTitlePosition:function(){var a=this.horiz,b=this.left,c=this.top,d=this.len,f=this.options.title,n=a?b:c,g=this.opposite,m=this.offset,u=f.x||0,E=f.y||0,B=this.axisTitle,h=this.chart.renderer.fontMetrics(f.style&&f.style.fontSize,B),B=Math.max(B.getBBox(null,
178
+ 0).height-h.h-1,0),d={low:n+(a?0:d),middle:n+d/2,high:n+(a?d:0)}[f.align],b=(a?c+this.height:b)+(a?1:-1)*(g?-1:1)*this.axisTitleMargin+[-B,B,h.f,-B][this.side],a={x:a?d+u:b+(g?this.width:0)+m+u,y:a?b+E-(g?this.height:0)+m:d+E};k(this,"afterGetTitlePosition",{titlePosition:a});return a},renderMinorTick:function(a){var c=this.chart.hasRendered&&b(this.oldMin),d=this.minorTicks;d[a]||(d[a]=new G(this,a,"minor"));c&&d[a].isNew&&d[a].render(null,!0);d[a].render(null,!1,1)},renderTick:function(a,c){var d=
179
+ this.isLinked,f=this.ticks,n=this.chart.hasRendered&&b(this.oldMin);if(!d||a>=this.min&&a<=this.max)f[a]||(f[a]=new G(this,a)),n&&f[a].isNew&&f[a].render(c,!0,-1),f[a].render(c)},render:function(){var c=this,d=c.chart,f=c.options,n=c.isLog,g=c.isLinked,m=c.tickPositions,B=c.axisTitle,h=c.ticks,A=c.minorTicks,y=c.alternateBands,e=f.stackLabels,p=f.alternateGridColor,v=c.tickmarkOffset,F=c.axisLine,l=c.showAxis,r=D(d.renderer.globalAnimation),x,t;c.labelEdge.length=0;c.overlap=!1;[h,A,y].forEach(function(a){u(a,
180
+ function(a){a.isActive=!1})});if(c.hasData()||g)c.minorTickInterval&&!c.categories&&c.getMinorTickPositions().forEach(function(a){c.renderMinorTick(a)}),m.length&&(m.forEach(function(a,b){c.renderTick(a,b)}),v&&(0===c.min||c.single)&&(h[-1]||(h[-1]=new G(c,-1,null,!0)),h[-1].render(-1))),p&&m.forEach(function(b,f){t=void 0!==m[f+1]?m[f+1]+v:c.max-v;0===f%2&&b<c.max&&t<=c.max+(d.polar?-v:v)&&(y[b]||(y[b]=new a.PlotLineOrBand(c)),x=b+v,y[b].options={from:n?c.lin2log(x):x,to:n?c.lin2log(t):t,color:p},
181
+ y[b].render(),y[b].isActive=!0)}),c._addedPlotLB||((f.plotLines||[]).concat(f.plotBands||[]).forEach(function(a){c.addPlotBandOrLine(a)}),c._addedPlotLB=!0);[h,A,y].forEach(function(a){var b,c=[],f=r.duration;u(a,function(a,b){a.isActive||(a.render(b,!1,0),a.isActive=!1,c.push(b))});E(function(){for(b=c.length;b--;)a[c[b]]&&!a[c[b]].isActive&&(a[c[b]].destroy(),delete a[c[b]])},a!==y&&d.hasRendered&&f?f:0)});F&&(F[F.isPlaced?"animate":"attr"]({d:this.getLinePath(F.strokeWidth())}),F.isPlaced=!0,F[l?
182
+ "show":"hide"](!0));B&&l&&(f=c.getTitlePosition(),b(f.y)?(B[B.isNew?"attr":"animate"](f),B.isNew=!1):(B.attr("y",-9999),B.isNew=!0));e&&e.enabled&&c.renderStackTotals();c.isDirty=!1;k(this,"afterRender")},redraw:function(){this.visible&&(this.render(),this.plotLinesAndBands.forEach(function(a){a.render()}));this.series.forEach(function(a){a.isDirty=!0})},keepProps:"extKey hcEvents names series userMax userMin".split(" "),destroy:function(a){var b=this,c=b.stacks,d=b.plotLinesAndBands,f;k(this,"destroy",
183
+ {keepEvents:a});a||m(b);u(c,function(a,b){p(a);c[b]=null});[b.ticks,b.minorTicks,b.alternateBands].forEach(function(a){p(a)});if(d)for(a=d.length;a--;)d[a].destroy();"stackTotalGroup axisLine axisTitle axisGroup gridGroup labelGroup cross scrollbar".split(" ").forEach(function(a){b[a]&&(b[a]=b[a].destroy())});for(f in b.plotLinesAndBandsGroups)b.plotLinesAndBandsGroups[f]=b.plotLinesAndBandsGroups[f].destroy();u(b,function(a,c){-1===b.keepProps.indexOf(c)&&delete b[c]})},drawCrosshair:function(a,
184
+ b){var c,d=this.crosshair,f=F(d.snap,!0),n,g=this.cross;k(this,"drawCrosshair",{e:a,point:b});a||(a=this.cross&&this.cross.e);if(this.crosshair&&!1!==(w(b)||!f)){f?w(b)&&(n=F(b.crosshairPos,this.isXAxis?b.plotX:this.len-b.plotY)):n=a&&(this.horiz?a.chartX-this.pos:this.len-a.chartY+this.pos);w(n)&&(c=this.getPlotLinePath({value:b&&(this.isXAxis?b.x:F(b.stackY,b.y)),translatedValue:n})||null);if(!w(c)){this.hideCrosshair();return}f=this.categories&&!this.isRadial;g||(this.cross=g=this.chart.renderer.path().addClass("highcharts-crosshair highcharts-crosshair-"+
185
+ (f?"category ":"thin ")+d.className).attr({zIndex:F(d.zIndex,2)}).add(),this.chart.styledMode||(g.attr({stroke:d.color||(f?e("#ccd6eb").setOpacity(.25).get():"#cccccc"),"stroke-width":F(d.width,1)}).css({"pointer-events":"none"}),d.dashStyle&&g.attr({dashstyle:d.dashStyle})));g.show().attr({d:c});f&&!d.width&&g.attr({"stroke-width":this.transA});this.cross.e=a}else this.hideCrosshair();k(this,"afterDrawCrosshair",{e:a,point:b})},hideCrosshair:function(){this.cross&&this.cross.hide();k(this,"afterHideCrosshair")}});
186
+ return a.Axis=A});J(H,"parts/DateTimeAxis.js",[H["parts/Globals.js"]],function(a){var C=a.Axis,D=a.getMagnitude,z=a.normalizeTickInterval,l=a.timeUnits;C.prototype.getTimeTicks=function(){return this.chart.time.getTimeTicks.apply(this.chart.time,arguments)};C.prototype.normalizeTimeTickInterval=function(a,t){var e=t||[["millisecond",[1,2,5,10,20,25,50,100,200,500]],["second",[1,2,5,10,15,30]],["minute",[1,2,5,10,15,30]],["hour",[1,2,3,4,6,8,12]],["day",[1,2]],["week",[1,2]],["month",[1,2,3,4,6]],
187
+ ["year",null]];t=e[e.length-1];var w=l[t[0]],x=t[1],p;for(p=0;p<e.length&&!(t=e[p],w=l[t[0]],x=t[1],e[p+1]&&a<=(w*x[x.length-1]+l[e[p+1][0]])/2);p++);w===l.year&&a<5*w&&(x=[1,2,5]);a=z(a/w,x,"year"===t[0]?Math.max(D(a/w),1):1);return{unitRange:w,count:a,unitName:t[0]}}});J(H,"parts/LogarithmicAxis.js",[H["parts/Globals.js"]],function(a){var C=a.Axis,D=a.getMagnitude,z=a.normalizeTickInterval,l=a.pick;C.prototype.getLogTickPositions=function(a,t,r,w){var e=this.options,p=this.len,h=[];w||(this._minorAutoInterval=
188
+ null);if(.5<=a)a=Math.round(a),h=this.getLinearTickPositions(a,t,r);else if(.08<=a)for(var p=Math.floor(t),k,v,g,c,b,e=.3<a?[1,2,4]:.15<a?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9];p<r+1&&!b;p++)for(v=e.length,k=0;k<v&&!b;k++)g=this.log2lin(this.lin2log(p)*e[k]),g>t&&(!w||c<=r)&&void 0!==c&&h.push(c),c>r&&(b=!0),c=g;else t=this.lin2log(t),r=this.lin2log(r),a=w?this.getMinorTickInterval():e.tickInterval,a=l("auto"===a?null:a,this._minorAutoInterval,e.tickPixelInterval/(w?5:1)*(r-t)/((w?p/this.tickPositions.length:
189
+ p)||1)),a=z(a,null,D(a)),h=this.getLinearTickPositions(a,t,r).map(this.log2lin),w||(this._minorAutoInterval=a/5);w||(this.tickInterval=a);return h};C.prototype.log2lin=function(a){return Math.log(a)/Math.LN10};C.prototype.lin2log=function(a){return Math.pow(10,a)}});J(H,"parts/PlotLineOrBand.js",[H["parts/Globals.js"],H["parts/Axis.js"]],function(a,C){var D=a.arrayMax,z=a.arrayMin,l=a.defined,e=a.destroyObjectProperties,t=a.erase,r=a.merge,w=a.pick;a.PlotLineOrBand=function(a,p){this.axis=a;p&&(this.options=
190
+ p,this.id=p.id)};a.PlotLineOrBand.prototype={render:function(){a.fireEvent(this,"render");var e=this,p=e.axis,h=p.horiz,k=e.options,v=k.label,g=e.label,c=k.to,b=k.from,d=k.value,f=l(b)&&l(c),y=l(d),u=e.svgElem,F=!u,m=[],n=k.color,B=w(k.zIndex,0),E=k.events,m={"class":"highcharts-plot-"+(f?"band ":"line ")+(k.className||"")},G={},A=p.chart.renderer,q=f?"bands":"lines";p.isLog&&(b=p.log2lin(b),c=p.log2lin(c),d=p.log2lin(d));p.chart.styledMode||(y?(m.stroke=n,m["stroke-width"]=k.width,k.dashStyle&&(m.dashstyle=
191
+ k.dashStyle)):f&&(n&&(m.fill=n),k.borderWidth&&(m.stroke=k.borderColor,m["stroke-width"]=k.borderWidth)));G.zIndex=B;q+="-"+B;(n=p.plotLinesAndBandsGroups[q])||(p.plotLinesAndBandsGroups[q]=n=A.g("plot-"+q).attr(G).add());F&&(e.svgElem=u=A.path().attr(m).add(n));if(y)m=p.getPlotLinePath({value:d,lineWidth:u.strokeWidth(),acrossPanes:k.acrossPanes});else if(f)m=p.getPlotBandPath(b,c,k);else return;(F||!u.d)&&m&&m.length?(u.attr({d:m}),E&&a.objectEach(E,function(a,b){u.on(b,function(a){E[b].apply(e,
192
+ [a])})})):u&&(m?(u.show(!0),u.animate({d:m})):u.d&&(u.hide(),g&&(e.label=g=g.destroy())));v&&l(v.text)&&m&&m.length&&0<p.width&&0<p.height&&!m.isFlat?(v=r({align:h&&f&&"center",x:h?!f&&4:10,verticalAlign:!h&&f&&"middle",y:h?f?16:10:f?6:-4,rotation:h&&!f&&90},v),this.renderLabel(v,m,f,B)):g&&g.hide();return e},renderLabel:function(a,e,h,k){var p=this.label,g=this.axis.chart.renderer;p||(p={align:a.textAlign||a.align,rotation:a.rotation,"class":"highcharts-plot-"+(h?"band":"line")+"-label "+(a.className||
193
+ "")},p.zIndex=k,this.label=p=g.text(a.text,0,0,a.useHTML).attr(p).add(),this.axis.chart.styledMode||p.css(a.style));k=e.xBounds||[e[1],e[4],h?e[6]:e[1]];e=e.yBounds||[e[2],e[5],h?e[7]:e[2]];h=z(k);g=z(e);p.align(a,!1,{x:h,y:g,width:D(k)-h,height:D(e)-g});p.show(!0)},destroy:function(){t(this.axis.plotLinesAndBands,this);delete this.axis;e(this)}};a.extend(C.prototype,{getPlotBandPath:function(a,e){var h=this.getPlotLinePath({value:e,force:!0,acrossPanes:this.options.acrossPanes}),k=this.getPlotLinePath({value:a,
194
+ force:!0,acrossPanes:this.options.acrossPanes}),p=[],g=this.horiz,c=1,b;a=a<this.min&&e<this.min||a>this.max&&e>this.max;if(k&&h)for(a&&(b=k.toString()===h.toString(),c=0),a=0;a<k.length;a+=6)g&&h[a+1]===k[a+1]?(h[a+1]+=c,h[a+4]+=c):g||h[a+2]!==k[a+2]||(h[a+2]+=c,h[a+5]+=c),p.push("M",k[a+1],k[a+2],"L",k[a+4],k[a+5],h[a+4],h[a+5],h[a+1],h[a+2],"z"),p.isFlat=b;return p},addPlotBand:function(a){return this.addPlotBandOrLine(a,"plotBands")},addPlotLine:function(a){return this.addPlotBandOrLine(a,"plotLines")},
195
+ addPlotBandOrLine:function(e,p){var h=(new a.PlotLineOrBand(this,e)).render(),k=this.userOptions;h&&(p&&(k[p]=k[p]||[],k[p].push(e)),this.plotLinesAndBands.push(h));return h},removePlotBandOrLine:function(a){for(var e=this.plotLinesAndBands,h=this.options,k=this.userOptions,v=e.length;v--;)e[v].id===a&&e[v].destroy();[h.plotLines||[],k.plotLines||[],h.plotBands||[],k.plotBands||[]].forEach(function(g){for(v=g.length;v--;)g[v].id===a&&t(g,g[v])})},removePlotBand:function(a){this.removePlotBandOrLine(a)},
196
+ removePlotLine:function(a){this.removePlotBandOrLine(a)}})});J(H,"parts/Tooltip.js",[H["parts/Globals.js"]],function(a){var C=a.doc,D=a.extend,z=a.format,l=a.isNumber,e=a.merge,t=a.pick,r=a.splat,w=a.syncTimeout,x=a.timeUnits;a.Tooltip=function(){this.init.apply(this,arguments)};a.Tooltip.prototype={init:function(a,h){this.chart=a;this.options=h;this.crosshairs=[];this.now={x:0,y:0};this.isHidden=!0;this.split=h.split&&!a.inverted;this.shared=h.shared||this.split;this.outside=t(h.outside,!(!a.scrollablePixelsX&&
197
+ !a.scrollablePixelsY))&&!this.split},cleanSplit:function(a){this.chart.series.forEach(function(h){var k=h&&h.tt;k&&(!k.isActive||a?h.tt=k.destroy():k.isActive=!1)})},applyFilter:function(){var a=this.chart;a.renderer.definition({tagName:"filter",id:"drop-shadow-"+a.index,opacity:.5,children:[{tagName:"feGaussianBlur","in":"SourceAlpha",stdDeviation:1},{tagName:"feOffset",dx:1,dy:1},{tagName:"feComponentTransfer",children:[{tagName:"feFuncA",type:"linear",slope:.3}]},{tagName:"feMerge",children:[{tagName:"feMergeNode"},
198
+ {tagName:"feMergeNode","in":"SourceGraphic"}]}]});a.renderer.definition({tagName:"style",textContent:".highcharts-tooltip-"+a.index+"{filter:url(#drop-shadow-"+a.index+")}"})},getLabel:function(){var e=this,h=this.chart.renderer,k=this.chart.styledMode,v=this.options,g,c;this.label||(this.outside&&(this.container=g=a.doc.createElement("div"),g.className="highcharts-tooltip-container",a.css(g,{position:"absolute",top:"1px",pointerEvents:v.style&&v.style.pointerEvents,zIndex:3}),a.doc.body.appendChild(g),
199
+ this.renderer=h=new a.Renderer(g,0,0)),this.split?this.label=h.g("tooltip"):(this.label=h.label("",0,0,v.shape||"callout",null,null,v.useHTML,null,"tooltip").attr({padding:v.padding,r:v.borderRadius}),k||this.label.attr({fill:v.backgroundColor,"stroke-width":v.borderWidth}).css(v.style).shadow(v.shadow)),k&&(this.applyFilter(),this.label.addClass("highcharts-tooltip-"+this.chart.index)),this.outside&&(c={x:this.label.xSetter,y:this.label.ySetter},this.label.xSetter=function(a,d){c[d].call(this.label,
200
+ e.distance);g.style.left=a+"px"},this.label.ySetter=function(a,d){c[d].call(this.label,e.distance);g.style.top=a+"px"}),this.label.attr({zIndex:8}).add());return this.label},update:function(a){this.destroy();e(!0,this.chart.options.tooltip.userOptions,a);this.init(this.chart,e(!0,this.options,a))},destroy:function(){this.label&&(this.label=this.label.destroy());this.split&&this.tt&&(this.cleanSplit(this.chart,!0),this.tt=this.tt.destroy());this.renderer&&(this.renderer=this.renderer.destroy(),a.discardElement(this.container));
201
+ a.clearTimeout(this.hideTimer);a.clearTimeout(this.tooltipTimeout)},move:function(e,h,k,v){var g=this,c=g.now,b=!1!==g.options.animation&&!g.isHidden&&(1<Math.abs(e-c.x)||1<Math.abs(h-c.y)),d=g.followPointer||1<g.len;D(c,{x:b?(2*c.x+e)/3:e,y:b?(c.y+h)/2:h,anchorX:d?void 0:b?(2*c.anchorX+k)/3:k,anchorY:d?void 0:b?(c.anchorY+v)/2:v});g.getLabel().attr(c);b&&(a.clearTimeout(this.tooltipTimeout),this.tooltipTimeout=setTimeout(function(){g&&g.move(e,h,k,v)},32))},hide:function(e){var h=this;a.clearTimeout(this.hideTimer);
202
+ e=t(e,this.options.hideDelay,500);this.isHidden||(this.hideTimer=w(function(){h.getLabel()[e?"fadeOut":"hide"]();h.isHidden=!0},e))},getAnchor:function(a,h){var k=this.chart,e=k.pointer,g=k.inverted,c=k.plotTop,b=k.plotLeft,d=0,f=0,y,u;a=r(a);this.followPointer&&h?(void 0===h.chartX&&(h=e.normalize(h)),a=[h.chartX-k.plotLeft,h.chartY-c]):a[0].tooltipPos?a=a[0].tooltipPos:(a.forEach(function(a){y=a.series.yAxis;u=a.series.xAxis;d+=a.plotX+(!g&&u?u.left-b:0);f+=(a.plotLow?(a.plotLow+a.plotHigh)/2:a.plotY)+
203
+ (!g&&y?y.top-c:0)}),d/=a.length,f/=a.length,a=[g?k.plotWidth-f:d,this.shared&&!g&&1<a.length&&h?h.chartY-c:g?k.plotHeight-d:f]);return a.map(Math.round)},getPosition:function(a,h,k){var e=this.chart,g=this.distance,c={},b=e.inverted&&k.h||0,d,f=this.outside,y=f?C.documentElement.clientWidth-2*g:e.chartWidth,u=f?Math.max(C.body.scrollHeight,C.documentElement.scrollHeight,C.body.offsetHeight,C.documentElement.offsetHeight,C.documentElement.clientHeight):e.chartHeight,p=e.pointer.chartPosition,m=["y",
204
+ u,h,(f?p.top-g:0)+k.plotY+e.plotTop,f?0:e.plotTop,f?u:e.plotTop+e.plotHeight],n=["x",y,a,(f?p.left-g:0)+k.plotX+e.plotLeft,f?0:e.plotLeft,f?y:e.plotLeft+e.plotWidth],B=!this.followPointer&&t(k.ttBelow,!e.inverted===!!k.negative),E=function(a,d,f,n,m,q){var u=f<n-g,E=n+g+f<d,k=n-g-f;n+=g;if(B&&E)c[a]=n;else if(!B&&u)c[a]=k;else if(u)c[a]=Math.min(q-f,0>k-b?k:k-b);else if(E)c[a]=Math.max(m,n+b+f>d?n:n+b);else return!1},G=function(a,b,d,f){var n;f<g||f>b-g?n=!1:c[a]=f<d/2?1:f>b-d/2?b-d-2:f-d/2;return n},
205
+ A=function(a){var b=m;m=n;n=b;d=a},q=function(){!1!==E.apply(0,m)?!1!==G.apply(0,n)||d||(A(!0),q()):d?c.x=c.y=0:(A(!0),q())};(e.inverted||1<this.len)&&A();q();return c},defaultFormatter:function(a){var h=this.points||r(this),k;k=[a.tooltipFooterHeaderFormatter(h[0])];k=k.concat(a.bodyFormatter(h));k.push(a.tooltipFooterHeaderFormatter(h[0],!0));return k},refresh:function(e,h){var k=this.chart,p=this.options,g,c=e,b,d={},f,y=[];f=p.formatter||this.defaultFormatter;var d=this.shared,u=k.styledMode,
206
+ F=[];p.enabled&&(a.clearTimeout(this.hideTimer),this.followPointer=r(c)[0].series.tooltipOptions.followPointer,b=this.getAnchor(c,h),h=b[0],g=b[1],!d||c.series&&c.series.noSharedTooltip?d=c.getLabelConfig():(F=k.pointer.getActiveSeries(c),k.series.forEach(function(a){(a.options.inactiveOtherPoints||-1===F.indexOf(a))&&a.setState("inactive",!0)}),c.forEach(function(a){a.setState("hover");y.push(a.getLabelConfig())}),d={x:c[0].category,y:c[0].y},d.points=y,c=c[0]),this.len=y.length,f=f.call(d,this),
207
+ d=c.series,this.distance=t(d.tooltipOptions.distance,16),!1===f?this.hide():(k=this.getLabel(),this.isHidden&&k.attr({opacity:1}).show(),this.split?this.renderSplit(f,r(e)):(p.style.width&&!u||k.css({width:this.chart.spacingBox.width}),k.attr({text:f&&f.join?f.join(""):f}),k.removeClass(/highcharts-color-[\d]+/g).addClass("highcharts-color-"+t(c.colorIndex,d.colorIndex)),u||k.attr({stroke:p.borderColor||c.color||d.color||"#666666"}),this.updatePosition({plotX:h,plotY:g,negative:c.negative,ttBelow:c.ttBelow,
208
+ h:b[2]||0})),this.isHidden=!1),a.fireEvent(this,"refresh"))},renderSplit:function(e,h){var k=this,p=[],g=this.chart,c=g.renderer,b=!0,d=this.options,f=0,y,u=this.getLabel(),F=g.plotTop;a.isString(e)&&(e=[!1,e]);e.slice(0,h.length+1).forEach(function(a,n){if(!1!==a&&""!==a){n=h[n-1]||{isHeader:!0,plotX:h[0].plotX,plotY:g.plotHeight};var m=n.series||k,E=m.tt,e=n.series||{},A="highcharts-color-"+t(n.colorIndex,e.colorIndex,"none");E||(E={padding:d.padding,r:d.borderRadius},g.styledMode||(E.fill=d.backgroundColor,
209
+ E["stroke-width"]=d.borderWidth),m.tt=E=c.label(null,null,null,(n.isHeader?d.headerShape:d.shape)||"callout",null,null,d.useHTML).addClass("highcharts-tooltip-box "+A).attr(E).add(u));E.isActive=!0;E.attr({text:a});g.styledMode||E.css(d.style).shadow(d.shadow).attr({stroke:d.borderColor||n.color||e.color||"#333333"});a=E.getBBox();e=a.width+E.strokeWidth();n.isHeader?(f=a.height,g.xAxis[0].opposite&&(y=!0,F-=f),e=Math.max(0,Math.min(n.plotX+g.plotLeft-e/2,g.chartWidth+(g.scrollablePixelsX?g.scrollablePixelsX-
210
+ g.marginRight:0)-e))):e=n.plotX+g.plotLeft-t(d.distance,16)-e;0>e&&(b=!1);a=(n.series&&n.series.yAxis&&n.series.yAxis.pos)+(n.plotY||0);a-=F;n.isHeader&&(a=y?-f:g.plotHeight+f);p.push({target:a,rank:n.isHeader?1:0,size:m.tt.getBBox().height+1,point:n,x:e,tt:E})}});this.cleanSplit();d.positioner&&p.forEach(function(a){var b=d.positioner.call(k,a.tt.getBBox().width,a.size,a.point);a.x=b.x;a.align=0;a.target=b.y;a.rank=t(b.rank,a.rank)});a.distribute(p,g.plotHeight+f);p.forEach(function(a){var c=a.point,
211
+ f=c.series;a.tt.attr({visibility:void 0===a.pos?"hidden":"inherit",x:b||c.isHeader||d.positioner?a.x:c.plotX+g.plotLeft+k.distance,y:a.pos+F,anchorX:c.isHeader?c.plotX+g.plotLeft:c.plotX+f.xAxis.pos,anchorY:c.isHeader?g.plotTop+g.plotHeight/2:c.plotY+f.yAxis.pos})})},updatePosition:function(a){var h=this.chart,k=this.getLabel(),e=(this.options.positioner||this.getPosition).call(this,k.width,k.height,a),g=a.plotX+h.plotLeft;a=a.plotY+h.plotTop;var c;this.outside&&(c=(this.options.borderWidth||0)+2*
212
+ this.distance,this.renderer.setSize(k.width+c,k.height+c,!1),g+=h.pointer.chartPosition.left-e.x,a+=h.pointer.chartPosition.top-e.y);this.move(Math.round(e.x),Math.round(e.y||0),g,a)},getDateFormat:function(a,h,k,e){var g=this.chart.time,c=g.dateFormat("%m-%d %H:%M:%S.%L",h),b,d,f={millisecond:15,second:12,minute:9,hour:6,day:3},y="millisecond";for(d in x){if(a===x.week&&+g.dateFormat("%w",h)===k&&"00:00:00.000"===c.substr(6)){d="week";break}if(x[d]>a){d=y;break}if(f[d]&&c.substr(f[d])!=="01-01 00:00:00.000".substr(f[d]))break;
213
+ "week"!==d&&(y=d)}d&&(b=g.resolveDTLFormat(e[d]).main);return b},getXDateFormat:function(a,h,k){h=h.dateTimeLabelFormats;var e=k&&k.closestPointRange;return(e?this.getDateFormat(e,a.x,k.options.startOfWeek,h):h.day)||h.year},tooltipFooterHeaderFormatter:function(e,h){var k=h?"footer":"header",p=e.series,g=p.tooltipOptions,c=g.xDateFormat,b=p.xAxis,d=b&&"datetime"===b.options.type&&l(e.key),f=g[k+"Format"];h={isFooter:h,labelConfig:e};a.fireEvent(this,"headerFormatter",h,function(a){d&&!c&&(c=this.getXDateFormat(e,
214
+ g,b));d&&c&&(e.point&&e.point.tooltipDateKeys||["key"]).forEach(function(a){f=f.replace("{point."+a+"}","{point."+a+":"+c+"}")});p.chart.styledMode&&(f=this.styledModeFormat(f));a.text=z(f,{point:e,series:p},this.chart.time)});return h.text},bodyFormatter:function(a){return a.map(function(a){var k=a.series.tooltipOptions;return(k[(a.point.formatPrefix||"point")+"Formatter"]||a.point.tooltipFormatter).call(a.point,k[(a.point.formatPrefix||"point")+"Format"]||"")})},styledModeFormat:function(a){return a.replace('style\x3d"font-size: 10px"',
215
+ 'class\x3d"highcharts-header"').replace(/style="color:{(point|series)\.color}"/g,'class\x3d"highcharts-color-{$1.colorIndex}"')}}});J(H,"parts/Pointer.js",[H["parts/Globals.js"]],function(a){var C=a.addEvent,D=a.attr,z=a.charts,l=a.color,e=a.css,t=a.defined,r=a.extend,w=a.find,x=a.fireEvent,p=a.isNumber,h=a.isObject,k=a.offset,v=a.pick,g=a.splat,c=a.Tooltip;a.Pointer=function(a,c){this.init(a,c)};a.Pointer.prototype={init:function(a,d){this.options=d;this.chart=a;this.runChartClick=d.chart.events&&
216
+ !!d.chart.events.click;this.pinchDown=[];this.lastValidTouch={};c&&(a.tooltip=new c(a,d.tooltip),this.followTouchMove=v(d.tooltip.followTouchMove,!0));this.setDOMEvents()},zoomOption:function(a){var b=this.chart,c=b.options.chart,g=c.zoomType||"",b=b.inverted;/touch/.test(a.type)&&(g=v(c.pinchType,g));this.zoomX=a=/x/.test(g);this.zoomY=g=/y/.test(g);this.zoomHor=a&&!b||g&&b;this.zoomVert=g&&!b||a&&b;this.hasZoom=a||g},normalize:function(a,c){var b;b=a.touches?a.touches.length?a.touches.item(0):a.changedTouches[0]:
217
+ a;c||(this.chartPosition=c=k(this.chart.container));return r(a,{chartX:Math.round(b.pageX-c.left),chartY:Math.round(b.pageY-c.top)})},getCoordinates:function(a){var b={xAxis:[],yAxis:[]};this.chart.axes.forEach(function(c){b[c.isXAxis?"xAxis":"yAxis"].push({axis:c,value:c.toValue(a[c.horiz?"chartX":"chartY"])})});return b},findNearestKDPoint:function(a,c,f){var b;a.forEach(function(a){var d=!(a.noSharedTooltip&&c)&&0>a.options.findNearestPointBy.indexOf("y");a=a.searchPoint(f,d);if((d=h(a,!0))&&!(d=
218
+ !h(b,!0)))var d=b.distX-a.distX,g=b.dist-a.dist,n=(a.series.group&&a.series.group.zIndex)-(b.series.group&&b.series.group.zIndex),d=0<(0!==d&&c?d:0!==g?g:0!==n?n:b.series.index>a.series.index?-1:1);d&&(b=a)});return b},getPointFromEvent:function(a){a=a.target;for(var b;a&&!b;)b=a.point,a=a.parentNode;return b},getChartCoordinatesFromPoint:function(a,c){var b=a.series,d=b.xAxis,b=b.yAxis,g=v(a.clientX,a.plotX),k=a.shapeArgs;if(d&&b)return c?{chartX:d.len+d.pos-g,chartY:b.len+b.pos-a.plotY}:{chartX:g+
219
+ d.pos,chartY:a.plotY+b.pos};if(k&&k.x&&k.y)return{chartX:k.x,chartY:k.y}},getHoverData:function(a,c,f,g,u,k){var b,d=[];g=!(!g||!a);var B=c&&!c.stickyTracking?[c]:f.filter(function(a){return a.visible&&!(!u&&a.directTouch)&&v(a.options.enableMouseTracking,!0)&&a.stickyTracking});c=(b=g?a:this.findNearestKDPoint(B,u,k))&&b.series;b&&(u&&!c.noSharedTooltip?(B=f.filter(function(a){return a.visible&&!(!u&&a.directTouch)&&v(a.options.enableMouseTracking,!0)&&!a.noSharedTooltip}),B.forEach(function(a){var c=
220
+ w(a.points,function(a){return a.x===b.x&&!a.isNull});h(c)&&(a.chart.isBoosting&&(c=a.getPoint(c)),d.push(c))})):d.push(b));return{hoverPoint:b,hoverSeries:c,hoverPoints:d}},runPointActions:function(b,c){var d=this.chart,g=d.tooltip&&d.tooltip.options.enabled?d.tooltip:void 0,u=g?g.shared:!1,k=c||d.hoverPoint,m=k&&k.series||d.hoverSeries,m=this.getHoverData(k,m,d.series,"touchmove"!==b.type&&(!!c||m&&m.directTouch&&this.isDirectTouch),u,b),n=[],B,k=m.hoverPoint;B=m.hoverPoints;c=(m=m.hoverSeries)&&
221
+ m.tooltipOptions.followPointer;u=u&&m&&!m.noSharedTooltip;if(k&&(k!==d.hoverPoint||g&&g.isHidden)){(d.hoverPoints||[]).forEach(function(a){-1===B.indexOf(a)&&a.setState()});if(d.hoverSeries!==m)m.onMouseOver();n=this.getActiveSeries(B);d.series.forEach(function(a){(a.options.inactiveOtherPoints||-1===n.indexOf(a))&&a.setState("inactive",!0)});(B||[]).forEach(function(a){a.setState("hover")});d.hoverPoint&&d.hoverPoint.firePointEvent("mouseOut");if(!k.series)return;k.firePointEvent("mouseOver");d.hoverPoints=
222
+ B;d.hoverPoint=k;g&&g.refresh(u?B:k,b)}else c&&g&&!g.isHidden&&(k=g.getAnchor([{}],b),g.updatePosition({plotX:k[0],plotY:k[1]}));this.unDocMouseMove||(this.unDocMouseMove=C(d.container.ownerDocument,"mousemove",function(b){var c=z[a.hoverChartIndex];if(c)c.pointer.onDocumentMouseMove(b)}));d.axes.forEach(function(c){var d=v(c.crosshair.snap,!0),f=d?a.find(B,function(a){return a.series[c.coll]===c}):void 0;f||!d?c.drawCrosshair(b,f):c.hideCrosshair()})},getActiveSeries:function(a){var b=[],c;(a||[]).forEach(function(a){c=
223
+ a.series;b.push(c);c.linkedParent&&b.push(c.linkedParent);c.linkedSeries&&(b=b.concat(c.linkedSeries));c.navigatorSeries&&b.push(c.navigatorSeries)});return b},reset:function(a,c){var b=this.chart,d=b.hoverSeries,u=b.hoverPoint,k=b.hoverPoints,m=b.tooltip,n=m&&m.shared?k:u;a&&n&&g(n).forEach(function(b){b.series.isCartesian&&void 0===b.plotX&&(a=!1)});if(a)m&&n&&g(n).length&&(m.refresh(n),m.shared&&k?k.forEach(function(a){a.setState(a.state,!0);a.series.isCartesian&&(a.series.xAxis.crosshair&&a.series.xAxis.drawCrosshair(null,
224
+ a),a.series.yAxis.crosshair&&a.series.yAxis.drawCrosshair(null,a))}):u&&(u.setState(u.state,!0),b.axes.forEach(function(a){a.crosshair&&a.drawCrosshair(null,u)})));else{if(u)u.onMouseOut();k&&k.forEach(function(a){a.setState()});if(d)d.onMouseOut();m&&m.hide(c);this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove());b.axes.forEach(function(a){a.hideCrosshair()});this.hoverX=b.hoverPoints=b.hoverPoint=null}},scaleGroups:function(a,c){var b=this.chart,d;b.series.forEach(function(f){d=a||f.getPlotBox();
225
+ f.xAxis&&f.xAxis.zoomEnabled&&f.group&&(f.group.attr(d),f.markerGroup&&(f.markerGroup.attr(d),f.markerGroup.clip(c?b.clipRect:null)),f.dataLabelsGroup&&f.dataLabelsGroup.attr(d))});b.clipRect.attr(c||b.clipBox)},dragStart:function(a){var b=this.chart;b.mouseIsDown=a.type;b.cancelClick=!1;b.mouseDownX=this.mouseDownX=a.chartX;b.mouseDownY=this.mouseDownY=a.chartY},drag:function(a){var b=this.chart,c=b.options.chart,g=a.chartX,k=a.chartY,h=this.zoomHor,m=this.zoomVert,n=b.plotLeft,B=b.plotTop,E=b.plotWidth,
226
+ e=b.plotHeight,A,q=this.selectionMarker,p=this.mouseDownX,v=this.mouseDownY,r=c.panKey&&a[c.panKey+"Key"];q&&q.touch||(g<n?g=n:g>n+E&&(g=n+E),k<B?k=B:k>B+e&&(k=B+e),this.hasDragged=Math.sqrt(Math.pow(p-g,2)+Math.pow(v-k,2)),10<this.hasDragged&&(A=b.isInsidePlot(p-n,v-B),b.hasCartesianSeries&&(this.zoomX||this.zoomY)&&A&&!r&&!q&&(this.selectionMarker=q=b.renderer.rect(n,B,h?1:E,m?1:e,0).attr({"class":"highcharts-selection-marker",zIndex:7}).add(),b.styledMode||q.attr({fill:c.selectionMarkerFill||l("#335cad").setOpacity(.25).get()})),
227
+ q&&h&&(g-=p,q.attr({width:Math.abs(g),x:(0<g?0:g)+p})),q&&m&&(g=k-v,q.attr({height:Math.abs(g),y:(0<g?0:g)+v})),A&&!q&&c.panning&&b.pan(a,c.panning)))},drop:function(a){var b=this,c=this.chart,g=this.hasPinched;if(this.selectionMarker){var k={originalEvent:a,xAxis:[],yAxis:[]},h=this.selectionMarker,m=h.attr?h.attr("x"):h.x,n=h.attr?h.attr("y"):h.y,B=h.attr?h.attr("width"):h.width,E=h.attr?h.attr("height"):h.height,G;if(this.hasDragged||g)c.axes.forEach(function(c){if(c.zoomEnabled&&t(c.min)&&(g||
228
+ b[{xAxis:"zoomX",yAxis:"zoomY"}[c.coll]])){var d=c.horiz,f="touchend"===a.type?c.minPixelPadding:0,u=c.toValue((d?m:n)+f),d=c.toValue((d?m+B:n+E)-f);k[c.coll].push({axis:c,min:Math.min(u,d),max:Math.max(u,d)});G=!0}}),G&&x(c,"selection",k,function(a){c.zoom(r(a,g?{animation:!1}:null))});p(c.index)&&(this.selectionMarker=this.selectionMarker.destroy());g&&this.scaleGroups()}c&&p(c.index)&&(e(c.container,{cursor:c._cursor}),c.cancelClick=10<this.hasDragged,c.mouseIsDown=this.hasDragged=this.hasPinched=
229
+ !1,this.pinchDown=[])},onContainerMouseDown:function(a){a=this.normalize(a);2!==a.button&&(this.zoomOption(a),a.preventDefault&&a.preventDefault(),this.dragStart(a))},onDocumentMouseUp:function(b){z[a.hoverChartIndex]&&z[a.hoverChartIndex].pointer.drop(b)},onDocumentMouseMove:function(a){var b=this.chart,c=this.chartPosition;a=this.normalize(a,c);!c||this.inClass(a.target,"highcharts-tracker")||b.isInsidePlot(a.chartX-b.plotLeft,a.chartY-b.plotTop)||this.reset()},onContainerMouseLeave:function(b){var c=
230
+ z[a.hoverChartIndex];c&&(b.relatedTarget||b.toElement)&&(c.pointer.reset(),c.pointer.chartPosition=null)},onContainerMouseMove:function(b){var c=this.chart;t(a.hoverChartIndex)&&z[a.hoverChartIndex]&&z[a.hoverChartIndex].mouseIsDown||(a.hoverChartIndex=c.index);b=this.normalize(b);b.preventDefault||(b.returnValue=!1);"mousedown"===c.mouseIsDown&&this.drag(b);!this.inClass(b.target,"highcharts-tracker")&&!c.isInsidePlot(b.chartX-c.plotLeft,b.chartY-c.plotTop)||c.openMenu||this.runPointActions(b)},
231
+ inClass:function(a,c){for(var b;a;){if(b=D(a,"class")){if(-1!==b.indexOf(c))return!0;if(-1!==b.indexOf("highcharts-container"))return!1}a=a.parentNode}},onTrackerMouseOut:function(a){var b=this.chart.hoverSeries;a=a.relatedTarget||a.toElement;this.isDirectTouch=!1;if(!(!b||!a||b.stickyTracking||this.inClass(a,"highcharts-tooltip")||this.inClass(a,"highcharts-series-"+b.index)&&this.inClass(a,"highcharts-tracker")))b.onMouseOut()},onContainerClick:function(a){var b=this.chart,c=b.hoverPoint,g=b.plotLeft,
232
+ k=b.plotTop;a=this.normalize(a);b.cancelClick||(c&&this.inClass(a.target,"highcharts-tracker")?(x(c.series,"click",r(a,{point:c})),b.hoverPoint&&c.firePointEvent("click",a)):(r(a,this.getCoordinates(a)),b.isInsidePlot(a.chartX-g,a.chartY-k)&&x(b,"click",a)))},setDOMEvents:function(){var b=this,c=b.chart.container,f=c.ownerDocument;c.onmousedown=function(a){b.onContainerMouseDown(a)};c.onmousemove=function(a){b.onContainerMouseMove(a)};c.onclick=function(a){b.onContainerClick(a)};this.unbindContainerMouseLeave=
233
+ C(c,"mouseleave",b.onContainerMouseLeave);a.unbindDocumentMouseUp||(a.unbindDocumentMouseUp=C(f,"mouseup",b.onDocumentMouseUp));a.hasTouch&&(c.ontouchstart=function(a){b.onContainerTouchStart(a)},c.ontouchmove=function(a){b.onContainerTouchMove(a)},a.unbindDocumentTouchEnd||(a.unbindDocumentTouchEnd=C(f,"touchend",b.onDocumentTouchEnd)))},destroy:function(){var b=this;b.unDocMouseMove&&b.unDocMouseMove();this.unbindContainerMouseLeave();a.chartCount||(a.unbindDocumentMouseUp&&(a.unbindDocumentMouseUp=
234
+ a.unbindDocumentMouseUp()),a.unbindDocumentTouchEnd&&(a.unbindDocumentTouchEnd=a.unbindDocumentTouchEnd()));clearInterval(b.tooltipTimeout);a.objectEach(b,function(a,c){b[c]=null})}}});J(H,"parts/TouchPointer.js",[H["parts/Globals.js"]],function(a){var C=a.charts,D=a.extend,z=a.noop,l=a.pick;D(a.Pointer.prototype,{pinchTranslate:function(a,l,r,w,x,p){this.zoomHor&&this.pinchTranslateDirection(!0,a,l,r,w,x,p);this.zoomVert&&this.pinchTranslateDirection(!1,a,l,r,w,x,p)},pinchTranslateDirection:function(a,
235
+ l,r,w,x,p,h,k){var e=this.chart,g=a?"x":"y",c=a?"X":"Y",b="chart"+c,d=a?"width":"height",f=e["plot"+(a?"Left":"Top")],y,u,F=k||1,m=e.inverted,n=e.bounds[a?"h":"v"],B=1===l.length,E=l[0][b],G=r[0][b],A=!B&&l[1][b],q=!B&&r[1][b],I;r=function(){!B&&20<Math.abs(E-A)&&(F=k||Math.abs(G-q)/Math.abs(E-A));u=(f-G)/F+E;y=e["plot"+(a?"Width":"Height")]/F};r();l=u;l<n.min?(l=n.min,I=!0):l+y>n.max&&(l=n.max-y,I=!0);I?(G-=.8*(G-h[g][0]),B||(q-=.8*(q-h[g][1])),r()):h[g]=[G,q];m||(p[g]=u-f,p[d]=y);p=m?1/F:F;x[d]=
236
+ y;x[g]=l;w[m?a?"scaleY":"scaleX":"scale"+c]=F;w["translate"+c]=p*f+(G-p*E)},pinch:function(a){var e=this,r=e.chart,w=e.pinchDown,x=a.touches,p=x.length,h=e.lastValidTouch,k=e.hasZoom,v=e.selectionMarker,g={},c=1===p&&(e.inClass(a.target,"highcharts-tracker")&&r.runTrackerClick||e.runChartClick),b={};1<p&&(e.initiated=!0);k&&e.initiated&&!c&&a.preventDefault();[].map.call(x,function(a){return e.normalize(a)});"touchstart"===a.type?([].forEach.call(x,function(a,b){w[b]={chartX:a.chartX,chartY:a.chartY}}),
237
+ h.x=[w[0].chartX,w[1]&&w[1].chartX],h.y=[w[0].chartY,w[1]&&w[1].chartY],r.axes.forEach(function(a){if(a.zoomEnabled){var b=r.bounds[a.horiz?"h":"v"],c=a.minPixelPadding,d=a.toPixels(Math.min(l(a.options.min,a.dataMin),a.dataMin)),g=a.toPixels(Math.max(l(a.options.max,a.dataMax),a.dataMax)),m=Math.max(d,g);b.min=Math.min(a.pos,Math.min(d,g)-c);b.max=Math.max(a.pos+a.len,m+c)}}),e.res=!0):e.followTouchMove&&1===p?this.runPointActions(e.normalize(a)):w.length&&(v||(e.selectionMarker=v=D({destroy:z,touch:!0},
238
+ r.plotBox)),e.pinchTranslate(w,x,g,v,b,h),e.hasPinched=k,e.scaleGroups(g,b),e.res&&(e.res=!1,this.reset(!1,0)))},touch:function(e,t){var r=this.chart,w,x;if(r.index!==a.hoverChartIndex)this.onContainerMouseLeave({relatedTarget:!0});a.hoverChartIndex=r.index;1===e.touches.length?(e=this.normalize(e),(x=r.isInsidePlot(e.chartX-r.plotLeft,e.chartY-r.plotTop))&&!r.openMenu?(t&&this.runPointActions(e),"touchmove"===e.type&&(t=this.pinchDown,w=t[0]?4<=Math.sqrt(Math.pow(t[0].chartX-e.chartX,2)+Math.pow(t[0].chartY-
239
+ e.chartY,2)):!1),l(w,!0)&&this.pinch(e)):t&&this.reset()):2===e.touches.length&&this.pinch(e)},onContainerTouchStart:function(a){this.zoomOption(a);this.touch(a,!0)},onContainerTouchMove:function(a){this.touch(a)},onDocumentTouchEnd:function(e){C[a.hoverChartIndex]&&C[a.hoverChartIndex].pointer.drop(e)}})});J(H,"parts/MSPointer.js",[H["parts/Globals.js"]],function(a){var C=a.addEvent,D=a.charts,z=a.css,l=a.doc,e=a.extend,t=a.noop,r=a.Pointer,w=a.removeEvent,x=a.win,p=a.wrap;if(!a.hasTouch&&(x.PointerEvent||
240
+ x.MSPointerEvent)){var h={},k=!!x.PointerEvent,v=function(){var c=[];c.item=function(a){return this[a]};a.objectEach(h,function(a){c.push({pageX:a.pageX,pageY:a.pageY,target:a.target})});return c},g=function(c,b,d,f){"touch"!==c.pointerType&&c.pointerType!==c.MSPOINTER_TYPE_TOUCH||!D[a.hoverChartIndex]||(f(c),f=D[a.hoverChartIndex].pointer,f[b]({type:d,target:c.currentTarget,preventDefault:t,touches:v()}))};e(r.prototype,{onContainerPointerDown:function(a){g(a,"onContainerTouchStart","touchstart",
241
+ function(a){h[a.pointerId]={pageX:a.pageX,pageY:a.pageY,target:a.currentTarget}})},onContainerPointerMove:function(a){g(a,"onContainerTouchMove","touchmove",function(a){h[a.pointerId]={pageX:a.pageX,pageY:a.pageY};h[a.pointerId].target||(h[a.pointerId].target=a.currentTarget)})},onDocumentPointerUp:function(a){g(a,"onDocumentTouchEnd","touchend",function(a){delete h[a.pointerId]})},batchMSEvents:function(a){a(this.chart.container,k?"pointerdown":"MSPointerDown",this.onContainerPointerDown);a(this.chart.container,
242
+ k?"pointermove":"MSPointerMove",this.onContainerPointerMove);a(l,k?"pointerup":"MSPointerUp",this.onDocumentPointerUp)}});p(r.prototype,"init",function(a,b,d){a.call(this,b,d);this.hasZoom&&z(b.container,{"-ms-touch-action":"none","touch-action":"none"})});p(r.prototype,"setDOMEvents",function(a){a.apply(this);(this.hasZoom||this.followTouchMove)&&this.batchMSEvents(C)});p(r.prototype,"destroy",function(a){this.batchMSEvents(w);a.call(this)})}});J(H,"parts/Legend.js",[H["parts/Globals.js"]],function(a){var C=
243
+ a.addEvent,D=a.css,z=a.discardElement,l=a.defined,e=a.fireEvent,t=a.isFirefox,r=a.marginNames,w=a.merge,x=a.pick,p=a.setAnimation,h=a.stableSort,k=a.win,v=a.wrap;a.Legend=function(a,c){this.init(a,c)};a.Legend.prototype={init:function(a,c){this.chart=a;this.setOptions(c);c.enabled&&(this.render(),C(this.chart,"endResize",function(){this.legend.positionCheckboxes()}),this.proximate?this.unchartrender=C(this.chart,"render",function(){this.legend.proximatePositions();this.legend.positionItems()}):this.unchartrender&&
244
+ this.unchartrender())},setOptions:function(a){var c=x(a.padding,8);this.options=a;this.chart.styledMode||(this.itemStyle=a.itemStyle,this.itemHiddenStyle=w(this.itemStyle,a.itemHiddenStyle));this.itemMarginTop=a.itemMarginTop||0;this.padding=c;this.initialItemY=c-5;this.symbolWidth=x(a.symbolWidth,16);this.pages=[];this.proximate="proximate"===a.layout&&!this.chart.inverted},update:function(a,c){var b=this.chart;this.setOptions(w(!0,this.options,a));this.destroy();b.isDirtyLegend=b.isDirtyBox=!0;
245
+ x(c,!0)&&b.redraw();e(this,"afterUpdate")},colorizeItem:function(a,c){a.legendGroup[c?"removeClass":"addClass"]("highcharts-legend-item-hidden");if(!this.chart.styledMode){var b=this.options,d=a.legendItem,f=a.legendLine,g=a.legendSymbol,k=this.itemHiddenStyle.color,b=c?b.itemStyle.color:k,h=c?a.color||k:k,m=a.options&&a.options.marker,n={fill:h};d&&d.css({fill:b,color:b});f&&f.attr({stroke:h});g&&(m&&g.isMarker&&(n=a.pointAttribs(),c||(n.stroke=n.fill=k)),g.attr(n))}e(this,"afterColorizeItem",{item:a,
246
+ visible:c})},positionItems:function(){this.allItems.forEach(this.positionItem,this);this.chart.isResizing||this.positionCheckboxes()},positionItem:function(a){var c=this.options,b=c.symbolPadding,c=!c.rtl,d=a._legendItemPos,f=d[0],d=d[1],g=a.checkbox;if((a=a.legendGroup)&&a.element)a[l(a.translateY)?"animate":"attr"]({translateX:c?f:this.legendWidth-f-2*b-4,translateY:d});g&&(g.x=f,g.y=d)},destroyItem:function(a){var c=a.checkbox;["legendItem","legendLine","legendSymbol","legendGroup"].forEach(function(b){a[b]&&
247
+ (a[b]=a[b].destroy())});c&&z(a.checkbox)},destroy:function(){function a(a){this[a]&&(this[a]=this[a].destroy())}this.getAllItems().forEach(function(c){["legendItem","legendGroup"].forEach(a,c)});"clipRect up down pager nav box title group".split(" ").forEach(a,this);this.display=null},positionCheckboxes:function(){var a=this.group&&this.group.alignAttr,c,b=this.clipHeight||this.legendHeight,d=this.titleHeight;a&&(c=a.translateY,this.allItems.forEach(function(f){var g=f.checkbox,k;g&&(k=c+d+g.y+(this.scrollOffset||
248
+ 0)+3,D(g,{left:a.translateX+f.checkboxOffset+g.x-20+"px",top:k+"px",display:this.proximate||k>c-6&&k<c+b-6?"":"none"}))},this))},renderTitle:function(){var a=this.options,c=this.padding,b=a.title,d=0;b.text&&(this.title||(this.title=this.chart.renderer.label(b.text,c-3,c-4,null,null,null,a.useHTML,null,"legend-title").attr({zIndex:1}),this.chart.styledMode||this.title.css(b.style),this.title.add(this.group)),b.width||this.title.css({width:this.maxLegendWidth+"px"}),a=this.title.getBBox(),d=a.height,
249
+ this.offsetWidth=a.width,this.contentGroup.attr({translateY:d}));this.titleHeight=d},setText:function(g){var c=this.options;g.legendItem.attr({text:c.labelFormat?a.format(c.labelFormat,g,this.chart.time):c.labelFormatter.call(g)})},renderItem:function(a){var c=this.chart,b=c.renderer,d=this.options,f=this.symbolWidth,g=d.symbolPadding,k=this.itemStyle,h=this.itemHiddenStyle,m="horizontal"===d.layout?x(d.itemDistance,20):0,n=!d.rtl,B=a.legendItem,E=!a.series,e=!E&&a.series.drawLegendSymbol?a.series:
250
+ a,A=e.options,A=this.createCheckboxForItem&&A&&A.showCheckbox,m=f+g+m+(A?20:0),q=d.useHTML,p=a.options.className;B||(a.legendGroup=b.g("legend-item").addClass("highcharts-"+e.type+"-series highcharts-color-"+a.colorIndex+(p?" "+p:"")+(E?" highcharts-series-"+a.index:"")).attr({zIndex:1}).add(this.scrollGroup),a.legendItem=B=b.text("",n?f+g:-g,this.baseline||0,q),c.styledMode||B.css(w(a.visible?k:h)),B.attr({align:n?"left":"right",zIndex:2}).add(a.legendGroup),this.baseline||(this.fontMetrics=b.fontMetrics(c.styledMode?
251
+ 12:k.fontSize,B),this.baseline=this.fontMetrics.f+3+this.itemMarginTop,B.attr("y",this.baseline)),this.symbolHeight=d.symbolHeight||this.fontMetrics.f,e.drawLegendSymbol(this,a),this.setItemEvents&&this.setItemEvents(a,B,q));A&&!a.checkbox&&this.createCheckboxForItem(a);this.colorizeItem(a,a.visible);!c.styledMode&&k.width||B.css({width:(d.itemWidth||this.widthOption||c.spacingBox.width)-m});this.setText(a);c=B.getBBox();a.itemWidth=a.checkboxOffset=d.itemWidth||a.legendItemWidth||c.width+m;this.maxItemWidth=
252
+ Math.max(this.maxItemWidth,a.itemWidth);this.totalItemWidth+=a.itemWidth;this.itemHeight=a.itemHeight=Math.round(a.legendItemHeight||c.height||this.symbolHeight)},layoutItem:function(a){var c=this.options,b=this.padding,d="horizontal"===c.layout,f=a.itemHeight,g=c.itemMarginBottom||0,k=this.itemMarginTop,h=d?x(c.itemDistance,20):0,m=this.maxLegendWidth,c=c.alignColumns&&this.totalItemWidth>m?this.maxItemWidth:a.itemWidth;d&&this.itemX-b+c>m&&(this.itemX=b,this.lastLineHeight&&(this.itemY+=k+this.lastLineHeight+
253
+ g),this.lastLineHeight=0);this.lastItemY=k+this.itemY+g;this.lastLineHeight=Math.max(f,this.lastLineHeight);a._legendItemPos=[this.itemX,this.itemY];d?this.itemX+=c:(this.itemY+=k+f+g,this.lastLineHeight=f);this.offsetWidth=this.widthOption||Math.max((d?this.itemX-b-(a.checkbox?0:h):c)+b,this.offsetWidth)},getAllItems:function(){var a=[];this.chart.series.forEach(function(c){var b=c&&c.options;c&&x(b.showInLegend,l(b.linkedTo)?!1:void 0,!0)&&(a=a.concat(c.legendItems||("point"===b.legendType?c.data:
254
+ c)))});e(this,"afterGetAllItems",{allItems:a});return a},getAlignment:function(){var a=this.options;return this.proximate?a.align.charAt(0)+"tv":a.floating?"":a.align.charAt(0)+a.verticalAlign.charAt(0)+a.layout.charAt(0)},adjustMargins:function(a,c){var b=this.chart,d=this.options,f=this.getAlignment(),g=void 0!==b.options.title.margin?b.titleOffset+b.options.title.margin:0;f&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/].forEach(function(k,h){k.test(f)&&!l(a[h])&&(b[r[h]]=Math.max(b[r[h]],
255
+ b.legend[(h+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][h]*d[h%2?"x":"y"]+x(d.margin,12)+c[h]+(0===h&&(0===b.titleOffset?0:g))))})},proximatePositions:function(){var g=this.chart,c=[],b="left"===this.options.align;this.allItems.forEach(function(d){var f,k;k=b;var h;d.yAxis&&d.points&&(d.xAxis.options.reversed&&(k=!k),f=a.find(k?d.points:d.points.slice(0).reverse(),function(b){return a.isNumber(b.plotY)}),k=d.legendGroup.getBBox().height,h=d.yAxis.top-g.plotTop,d.visible?(f=f?f.plotY:d.yAxis.height,
256
+ f+=h-.3*k):f=h+d.yAxis.height,c.push({target:f,size:k,item:d}))},this);a.distribute(c,g.plotHeight);c.forEach(function(a){a.item._legendItemPos[1]=g.plotTop-g.spacing[0]+a.pos})},render:function(){var g=this.chart,c=g.renderer,b=this.group,d,f,k,u=this.box,p=this.options,m=this.padding;this.itemX=m;this.itemY=this.initialItemY;this.lastItemY=this.offsetWidth=0;this.widthOption=a.relativeLength(p.width,g.spacingBox.width-m);d=g.spacingBox.width-2*m-p.x;-1<["rm","lm"].indexOf(this.getAlignment().substring(0,
257
+ 2))&&(d/=2);this.maxLegendWidth=this.widthOption||d;b||(this.group=b=c.g("legend").attr({zIndex:7}).add(),this.contentGroup=c.g().attr({zIndex:1}).add(b),this.scrollGroup=c.g().add(this.contentGroup));this.renderTitle();d=this.getAllItems();h(d,function(a,b){return(a.options&&a.options.legendIndex||0)-(b.options&&b.options.legendIndex||0)});p.reversed&&d.reverse();this.allItems=d;this.display=f=!!d.length;this.itemHeight=this.totalItemWidth=this.maxItemWidth=this.lastLineHeight=0;d.forEach(this.renderItem,
258
+ this);d.forEach(this.layoutItem,this);d=(this.widthOption||this.offsetWidth)+m;k=this.lastItemY+this.lastLineHeight+this.titleHeight;k=this.handleOverflow(k);k+=m;u||(this.box=u=c.rect().addClass("highcharts-legend-box").attr({r:p.borderRadius}).add(b),u.isNew=!0);g.styledMode||u.attr({stroke:p.borderColor,"stroke-width":p.borderWidth||0,fill:p.backgroundColor||"none"}).shadow(p.shadow);0<d&&0<k&&(u[u.isNew?"attr":"animate"](u.crisp.call({},{x:0,y:0,width:d,height:k},u.strokeWidth())),u.isNew=!1);
259
+ u[f?"show":"hide"]();g.styledMode&&"none"===b.getStyle("display")&&(d=k=0);this.legendWidth=d;this.legendHeight=k;f&&(c=g.spacingBox,/(lth|ct|rth)/.test(this.getAlignment())&&(u=c.y+g.titleOffset,c=w(c,{y:0<g.titleOffset?u+=g.options.title.margin:u})),b.align(w(p,{width:d,height:k,verticalAlign:this.proximate?"top":p.verticalAlign}),!0,c));this.proximate||this.positionItems();e(this,"afterRender")},handleOverflow:function(a){var c=this,b=this.chart,d=b.renderer,f=this.options,g=f.y,k=this.padding,
260
+ g=b.spacingBox.height+("top"===f.verticalAlign?-g:g)-k,h=f.maxHeight,m,n=this.clipRect,B=f.navigation,E=x(B.animation,!0),e=B.arrowSize||12,A=this.nav,q=this.pages,p,v=this.allItems,l=function(a){"number"===typeof a?n.attr({height:a}):n&&(c.clipRect=n.destroy(),c.contentGroup.clip());c.contentGroup.div&&(c.contentGroup.div.style.clip=a?"rect("+k+"px,9999px,"+(k+a)+"px,0)":"auto")},L=function(a){c[a]=d.circle(0,0,1.3*e).translate(e/2,e/2).add(A);b.styledMode||c[a].attr("fill","rgba(0,0,0,0.0001)");
261
+ return c[a]};"horizontal"!==f.layout||"middle"===f.verticalAlign||f.floating||(g/=2);h&&(g=Math.min(g,h));q.length=0;a>g&&!1!==B.enabled?(this.clipHeight=m=Math.max(g-20-this.titleHeight-k,0),this.currentPage=x(this.currentPage,1),this.fullHeight=a,v.forEach(function(a,b){var c=a._legendItemPos[1],d=Math.round(a.legendItem.getBBox().height),f=q.length;if(!f||c-q[f-1]>m&&(p||c)!==q[f-1])q.push(p||c),f++;a.pageIx=f-1;p&&(v[b-1].pageIx=f-1);b===v.length-1&&c+d-q[f-1]>m&&c!==p&&(q.push(c),a.pageIx=f);
262
+ c!==p&&(p=c)}),n||(n=c.clipRect=d.clipRect(0,k,9999,0),c.contentGroup.clip(n)),l(m),A||(this.nav=A=d.g().attr({zIndex:1}).add(this.group),this.up=d.symbol("triangle",0,0,e,e).add(A),L("upTracker").on("click",function(){c.scroll(-1,E)}),this.pager=d.text("",15,10).addClass("highcharts-legend-navigation"),b.styledMode||this.pager.css(B.style),this.pager.add(A),this.down=d.symbol("triangle-down",0,0,e,e).add(A),L("downTracker").on("click",function(){c.scroll(1,E)})),c.scroll(0),a=g):A&&(l(),this.nav=
263
+ A.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0);return a},scroll:function(a,c){var b=this.pages,d=b.length,f=this.currentPage+a;a=this.clipHeight;var g=this.options.navigation,k=this.pager,h=this.padding;f>d&&(f=d);0<f&&(void 0!==c&&p(c,this.chart),this.nav.attr({translateX:h,translateY:a+this.padding+7+this.titleHeight,visibility:"visible"}),[this.up,this.upTracker].forEach(function(a){a.attr({"class":1===f?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})}),
264
+ k.attr({text:f+"/"+d}),[this.down,this.downTracker].forEach(function(a){a.attr({x:18+this.pager.getBBox().width,"class":f===d?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})},this),this.chart.styledMode||(this.up.attr({fill:1===f?g.inactiveColor:g.activeColor}),this.upTracker.css({cursor:1===f?"default":"pointer"}),this.down.attr({fill:f===d?g.inactiveColor:g.activeColor}),this.downTracker.css({cursor:f===d?"default":"pointer"})),this.scrollOffset=-b[f-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),
265
+ this.currentPage=f,this.positionCheckboxes())}};a.LegendSymbolMixin={drawRectangle:function(a,c){var b=a.symbolHeight,d=a.options.squareSymbol;c.legendSymbol=this.chart.renderer.rect(d?(a.symbolWidth-b)/2:0,a.baseline-b+1,d?b:a.symbolWidth,b,x(a.options.symbolRadius,b/2)).addClass("highcharts-point").attr({zIndex:3}).add(c.legendGroup)},drawLineMarker:function(a){var c=this.options,b=c.marker,d=a.symbolWidth,f=a.symbolHeight,g=f/2,k=this.chart.renderer,h=this.legendGroup;a=a.baseline-Math.round(.3*
266
+ a.fontMetrics.b);var m={};this.chart.styledMode||(m={"stroke-width":c.lineWidth||0},c.dashStyle&&(m.dashstyle=c.dashStyle));this.legendLine=k.path(["M",0,a,"L",d,a]).addClass("highcharts-graph").attr(m).add(h);b&&!1!==b.enabled&&d&&(c=Math.min(x(b.radius,g),g),0===this.symbol.indexOf("url")&&(b=w(b,{width:f,height:f}),c=0),this.legendSymbol=b=k.symbol(this.symbol,d/2-c,a-c,2*c,2*c,b).addClass("highcharts-point").add(h),b.isMarker=!0)}};(/Trident\/7\.0/.test(k.navigator&&k.navigator.userAgent)||t)&&
267
+ v(a.Legend.prototype,"positionItem",function(a,c){var b=this,d=function(){c._legendItemPos&&a.call(b,c)};d();b.bubbleLegend||setTimeout(d)})});J(H,"parts/Chart.js",[H["parts/Globals.js"]],function(a){var C=a.addEvent,D=a.animate,z=a.animObject,l=a.attr,e=a.doc,t=a.Axis,r=a.createElement,w=a.defaultOptions,x=a.discardElement,p=a.charts,h=a.css,k=a.defined,v=a.extend,g=a.find,c=a.fireEvent,b=a.isNumber,d=a.isObject,f=a.isString,y=a.Legend,u=a.marginNames,F=a.merge,m=a.objectEach,n=a.Pointer,B=a.pick,
268
+ E=a.pInt,G=a.removeEvent,A=a.seriesTypes,q=a.splat,I=a.syncTimeout,O=a.win,Q=a.Chart=function(){this.getArgs.apply(this,arguments)};a.chart=function(a,b,c){return new Q(a,b,c)};v(Q.prototype,{callbacks:[],getArgs:function(){var a=[].slice.call(arguments);if(f(a[0])||a[0].nodeName)this.renderTo=a.shift();this.init(a[0],a[1])},init:function(b,f){var n,g=b.series,q=b.plotOptions||{};c(this,"init",{args:arguments},function(){b.series=null;n=F(w,b);m(n.plotOptions,function(a,b){d(a)&&(a.tooltip=q[b]&&
269
+ F(q[b].tooltip)||void 0)});n.tooltip.userOptions=b.chart&&b.chart.forExport&&b.tooltip.userOptions||b.tooltip;n.series=b.series=g;this.userOptions=b;var k=n.chart,h=k.events;this.margin=[];this.spacing=[];this.bounds={h:{},v:{}};this.labelCollectors=[];this.callback=f;this.isResizing=0;this.options=n;this.axes=[];this.series=[];this.time=b.time&&Object.keys(b.time).length?new a.Time(b.time):a.time;this.styledMode=k.styledMode;this.hasCartesianSeries=k.showAxes;var e=this;e.index=p.length;p.push(e);
270
+ a.chartCount++;h&&m(h,function(b,c){a.isFunction(b)&&C(e,c,b)});e.xAxis=[];e.yAxis=[];e.pointCount=e.colorCounter=e.symbolCounter=0;c(e,"afterInit");e.firstRender()})},initSeries:function(b){var c=this.options.chart;(c=A[b.type||c.type||c.defaultSeriesType])||a.error(17,!0,this);c=new c;c.init(this,b);return c},orderSeries:function(a){var b=this.series;for(a=a||0;a<b.length;a++)b[a]&&(b[a].index=a,b[a].name=b[a].getName())},isInsidePlot:function(a,b,c){var d=c?b:a;a=c?a:b;return 0<=d&&d<=this.plotWidth&&
271
+ 0<=a&&a<=this.plotHeight},redraw:function(b){c(this,"beforeRedraw");var d=this.axes,f=this.series,n=this.pointer,g=this.legend,m=this.userOptions.legend,q=this.isDirtyLegend,k,h,e=this.hasCartesianSeries,E=this.isDirtyBox,u,B=this.renderer,A=B.isHidden(),G=[];this.setResponsive&&this.setResponsive(!1);a.setAnimation(b,this);A&&this.temporaryDisplay();this.layOutTitles();for(b=f.length;b--;)if(u=f[b],u.options.stacking&&(k=!0,u.isDirty)){h=!0;break}if(h)for(b=f.length;b--;)u=f[b],u.options.stacking&&
272
+ (u.isDirty=!0);f.forEach(function(a){a.isDirty&&("point"===a.options.legendType?(a.updateTotals&&a.updateTotals(),q=!0):m&&(m.labelFormatter||m.labelFormat)&&(q=!0));a.isDirtyData&&c(a,"updatedData")});q&&g&&g.options.enabled&&(g.render(),this.isDirtyLegend=!1);k&&this.getStacks();e&&d.forEach(function(a){a.updateNames();a.setScale()});this.getMargins();e&&(d.forEach(function(a){a.isDirty&&(E=!0)}),d.forEach(function(a){var b=a.min+","+a.max;a.extKey!==b&&(a.extKey=b,G.push(function(){c(a,"afterSetExtremes",
273
+ v(a.eventArgs,a.getExtremes()));delete a.eventArgs}));(E||k)&&a.redraw()}));E&&this.drawChartBox();c(this,"predraw");f.forEach(function(a){(E||a.isDirty)&&a.visible&&a.redraw();a.isDirtyData=!1});n&&n.reset(!0);B.draw();c(this,"redraw");c(this,"render");A&&this.temporaryDisplay(!0);G.forEach(function(a){a.call()})},get:function(a){function b(b){return b.id===a||b.options&&b.options.id===a}var c,d=this.series,f;c=g(this.axes,b)||g(this.series,b);for(f=0;!c&&f<d.length;f++)c=g(d[f].points||[],b);return c},
274
+ getAxes:function(){var a=this,b=this.options,d=b.xAxis=q(b.xAxis||{}),b=b.yAxis=q(b.yAxis||{});c(this,"getAxes");d.forEach(function(a,b){a.index=b;a.isX=!0});b.forEach(function(a,b){a.index=b});d.concat(b).forEach(function(b){new t(a,b)});c(this,"afterGetAxes")},getSelectedPoints:function(){var a=[];this.series.forEach(function(b){a=a.concat((b[b.hasGroupedData?"points":"data"]||[]).filter(function(a){return a.selected}))});return a},getSelectedSeries:function(){return this.series.filter(function(a){return a.selected})},
275
+ setTitle:function(a,b,c){var d=this,f=d.options,n=d.styledMode,g;g=f.title=F(!n&&{style:{color:"#333333",fontSize:f.isStock?"16px":"18px"}},f.title,a);f=f.subtitle=F(!n&&{style:{color:"#666666"}},f.subtitle,b);[["title",a,g],["subtitle",b,f]].forEach(function(a,b){var c=a[0],f=d[c],g=a[1];a=a[2];f&&g&&(d[c]=f=f.destroy());a&&!f&&(d[c]=d.renderer.text(a.text,0,0,a.useHTML).attr({align:a.align,"class":"highcharts-"+c,zIndex:a.zIndex||4}).add(),d[c].update=function(a){d.setTitle(!b&&a,b&&a)},n||d[c].css(a.style))});
276
+ d.layOutTitles(c)},layOutTitles:function(a){var b=0,c,d=this.renderer,f=this.spacingBox;["title","subtitle"].forEach(function(a){var c=this[a],n=this.options[a];a="title"===a?-3:n.verticalAlign?0:b+2;var g;c&&(this.styledMode||(g=n.style.fontSize),g=d.fontMetrics(g,c).b,c.css({width:(n.width||f.width+n.widthAdjust)+"px"}).align(v({y:a+g},n),!1,"spacingBox"),n.floating||n.verticalAlign||(b=Math.ceil(b+c.getBBox(n.useHTML).height)))},this);c=this.titleOffset!==b;this.titleOffset=b;!this.isDirtyBox&&
277
+ c&&(this.isDirtyBox=this.isDirtyLegend=c,this.hasRendered&&B(a,!0)&&this.isDirtyBox&&this.redraw())},getChartSize:function(){var b=this.options.chart,c=b.width,b=b.height,d=this.renderTo;k(c)||(this.containerWidth=a.getStyle(d,"width"));k(b)||(this.containerHeight=a.getStyle(d,"height"));this.chartWidth=Math.max(0,c||this.containerWidth||600);this.chartHeight=Math.max(0,a.relativeLength(b,this.chartWidth)||(1<this.containerHeight?this.containerHeight:400))},temporaryDisplay:function(b){var c=this.renderTo;
278
+ if(b)for(;c&&c.style;)c.hcOrigStyle&&(a.css(c,c.hcOrigStyle),delete c.hcOrigStyle),c.hcOrigDetached&&(e.body.removeChild(c),c.hcOrigDetached=!1),c=c.parentNode;else for(;c&&c.style;){e.body.contains(c)||c.parentNode||(c.hcOrigDetached=!0,e.body.appendChild(c));if("none"===a.getStyle(c,"display",!1)||c.hcOricDetached)c.hcOrigStyle={display:c.style.display,height:c.style.height,overflow:c.style.overflow},b={display:"block",overflow:"hidden"},c!==this.renderTo&&(b.height=0),a.css(c,b),c.offsetWidth||
279
+ c.style.setProperty("display","block","important");c=c.parentNode;if(c===e.body)break}},setClassName:function(a){this.container.className="highcharts-container "+(a||"")},getContainer:function(){var d,n=this.options,g=n.chart,m,q;d=this.renderTo;var k=a.uniqueKey(),u,B;d||(this.renderTo=d=g.renderTo);f(d)&&(this.renderTo=d=e.getElementById(d));d||a.error(13,!0,this);m=E(l(d,"data-highcharts-chart"));b(m)&&p[m]&&p[m].hasRendered&&p[m].destroy();l(d,"data-highcharts-chart",this.index);d.innerHTML="";
280
+ g.skipClone||d.offsetWidth||this.temporaryDisplay();this.getChartSize();m=this.chartWidth;q=this.chartHeight;h(d,{overflow:"hidden"});this.styledMode||(u=v({position:"relative",overflow:"hidden",width:m+"px",height:q+"px",textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)"},g.style));this.container=d=r("div",{id:k},u,d);this._cursor=d.style.cursor;this.renderer=new (a[g.renderer]||a.Renderer)(d,m,q,null,g.forExport,n.exporting&&n.exporting.allowHTML,this.styledMode);
281
+ this.setClassName(g.className);if(this.styledMode)for(B in n.defs)this.renderer.definition(n.defs[B]);else this.renderer.setStyle(g.style);this.renderer.chartIndex=this.index;c(this,"afterGetContainer")},getMargins:function(a){var b=this.spacing,d=this.margin,f=this.titleOffset;this.resetMargins();f&&!k(d[0])&&(this.plotTop=Math.max(this.plotTop,f+this.options.title.margin+b[0]));this.legend&&this.legend.display&&this.legend.adjustMargins(d,b);c(this,"getMargins");a||this.getAxisMargins()},getAxisMargins:function(){var a=
282
+ this,b=a.axisOffset=[0,0,0,0],c=a.margin;a.hasCartesianSeries&&a.axes.forEach(function(a){a.visible&&a.getOffset()});u.forEach(function(d,f){k(c[f])||(a[d]+=b[f])});a.setChartSize()},reflow:function(b){var c=this,d=c.options.chart,f=c.renderTo,n=k(d.width)&&k(d.height),g=d.width||a.getStyle(f,"width"),d=d.height||a.getStyle(f,"height"),f=b?b.target:O;if(!n&&!c.isPrinting&&g&&d&&(f===O||f===e)){if(g!==c.containerWidth||d!==c.containerHeight)a.clearTimeout(c.reflowTimeout),c.reflowTimeout=I(function(){c.container&&
283
+ c.setSize(void 0,void 0,!1)},b?100:0);c.containerWidth=g;c.containerHeight=d}},setReflow:function(a){var b=this;!1===a||this.unbindReflow?!1===a&&this.unbindReflow&&(this.unbindReflow=this.unbindReflow()):(this.unbindReflow=C(O,"resize",function(a){b.reflow(a)}),C(this,"destroy",this.unbindReflow))},setSize:function(b,d,f){var n=this,g=n.renderer,m;n.isResizing+=1;a.setAnimation(f,n);n.oldChartHeight=n.chartHeight;n.oldChartWidth=n.chartWidth;void 0!==b&&(n.options.chart.width=b);void 0!==d&&(n.options.chart.height=
284
+ d);n.getChartSize();n.styledMode||(m=g.globalAnimation,(m?D:h)(n.container,{width:n.chartWidth+"px",height:n.chartHeight+"px"},m));n.setChartSize(!0);g.setSize(n.chartWidth,n.chartHeight,f);n.axes.forEach(function(a){a.isDirty=!0;a.setScale()});n.isDirtyLegend=!0;n.isDirtyBox=!0;n.layOutTitles();n.getMargins();n.redraw(f);n.oldChartHeight=null;c(n,"resize");I(function(){n&&c(n,"endResize",null,function(){--n.isResizing})},z(m).duration)},setChartSize:function(a){var b=this.inverted,d=this.renderer,
285
+ f=this.chartWidth,n=this.chartHeight,g=this.options.chart,m=this.spacing,q=this.clipOffset,k,h,e,u;this.plotLeft=k=Math.round(this.plotLeft);this.plotTop=h=Math.round(this.plotTop);this.plotWidth=e=Math.max(0,Math.round(f-k-this.marginRight));this.plotHeight=u=Math.max(0,Math.round(n-h-this.marginBottom));this.plotSizeX=b?u:e;this.plotSizeY=b?e:u;this.plotBorderWidth=g.plotBorderWidth||0;this.spacingBox=d.spacingBox={x:m[3],y:m[0],width:f-m[3]-m[1],height:n-m[0]-m[2]};this.plotBox=d.plotBox={x:k,
286
+ y:h,width:e,height:u};f=2*Math.floor(this.plotBorderWidth/2);b=Math.ceil(Math.max(f,q[3])/2);d=Math.ceil(Math.max(f,q[0])/2);this.clipBox={x:b,y:d,width:Math.floor(this.plotSizeX-Math.max(f,q[1])/2-b),height:Math.max(0,Math.floor(this.plotSizeY-Math.max(f,q[2])/2-d))};a||this.axes.forEach(function(a){a.setAxisSize();a.setAxisTranslation()});c(this,"afterSetChartSize",{skipAxes:a})},resetMargins:function(){c(this,"resetMargins");var a=this,b=a.options.chart;["margin","spacing"].forEach(function(c){var f=
287
+ b[c],n=d(f)?f:[f,f,f,f];["Top","Right","Bottom","Left"].forEach(function(d,f){a[c][f]=B(b[c+d],n[f])})});u.forEach(function(b,c){a[b]=B(a.margin[c],a.spacing[c])});a.axisOffset=[0,0,0,0];a.clipOffset=[0,0,0,0]},drawChartBox:function(){var a=this.options.chart,b=this.renderer,d=this.chartWidth,f=this.chartHeight,n=this.chartBackground,g=this.plotBackground,m=this.plotBorder,q,k=this.styledMode,h=this.plotBGImage,e=a.backgroundColor,u=a.plotBackgroundColor,E=a.plotBackgroundImage,B,A=this.plotLeft,
288
+ G=this.plotTop,p=this.plotWidth,v=this.plotHeight,y=this.plotBox,l=this.clipRect,I=this.clipBox,r="animate";n||(this.chartBackground=n=b.rect().addClass("highcharts-background").add(),r="attr");if(k)q=B=n.strokeWidth();else{q=a.borderWidth||0;B=q+(a.shadow?8:0);e={fill:e||"none"};if(q||n["stroke-width"])e.stroke=a.borderColor,e["stroke-width"]=q;n.attr(e).shadow(a.shadow)}n[r]({x:B/2,y:B/2,width:d-B-q%2,height:f-B-q%2,r:a.borderRadius});r="animate";g||(r="attr",this.plotBackground=g=b.rect().addClass("highcharts-plot-background").add());
289
+ g[r](y);k||(g.attr({fill:u||"none"}).shadow(a.plotShadow),E&&(h?h.animate(y):this.plotBGImage=b.image(E,A,G,p,v).add()));l?l.animate({width:I.width,height:I.height}):this.clipRect=b.clipRect(I);r="animate";m||(r="attr",this.plotBorder=m=b.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add());k||m.attr({stroke:a.plotBorderColor,"stroke-width":a.plotBorderWidth||0,fill:"none"});m[r](m.crisp({x:A,y:G,width:p,height:v},-m.strokeWidth()));this.isDirtyBox=!1;c(this,"afterDrawChartBox")},propFromSeries:function(){var a=
290
+ this,b=a.options.chart,c,d=a.options.series,f,n;["inverted","angular","polar"].forEach(function(g){c=A[b.type||b.defaultSeriesType];n=b[g]||c&&c.prototype[g];for(f=d&&d.length;!n&&f--;)(c=A[d[f].type])&&c.prototype[g]&&(n=!0);a[g]=n})},linkSeries:function(){var a=this,b=a.series;b.forEach(function(a){a.linkedSeries.length=0});b.forEach(function(b){var c=b.options.linkedTo;f(c)&&(c=":previous"===c?a.series[b.index-1]:a.get(c))&&c.linkedParent!==b&&(c.linkedSeries.push(b),b.linkedParent=c,b.visible=
291
+ B(b.options.visible,c.options.visible,b.visible))});c(this,"afterLinkSeries")},renderSeries:function(){this.series.forEach(function(a){a.translate();a.render()})},renderLabels:function(){var a=this,b=a.options.labels;b.items&&b.items.forEach(function(c){var d=v(b.style,c.style),f=E(d.left)+a.plotLeft,n=E(d.top)+a.plotTop+12;delete d.left;delete d.top;a.renderer.text(c.html,f,n).attr({zIndex:2}).css(d).add()})},render:function(){var a=this.axes,b=this.renderer,c=this.options,d=0,f,n,g;this.setTitle();
292
+ this.legend=new y(this,c.legend);this.getStacks&&this.getStacks();this.getMargins(!0);this.setChartSize();c=this.plotWidth;a.some(function(a){if(a.horiz&&a.visible&&a.options.labels.enabled&&a.series.length)return d=21,!0});f=this.plotHeight=Math.max(this.plotHeight-d,0);a.forEach(function(a){a.setScale()});this.getAxisMargins();n=1.1<c/this.plotWidth;g=1.05<f/this.plotHeight;if(n||g)a.forEach(function(a){(a.horiz&&n||!a.horiz&&g)&&a.setTickInterval(!0)}),this.getMargins();this.drawChartBox();this.hasCartesianSeries&&
293
+ a.forEach(function(a){a.visible&&a.render()});this.seriesGroup||(this.seriesGroup=b.g("series-group").attr({zIndex:3}).add());this.renderSeries();this.renderLabels();this.addCredits();this.setResponsive&&this.setResponsive();this.hasRendered=!0},addCredits:function(a){var b=this;a=F(!0,this.options.credits,a);a.enabled&&!this.credits&&(this.credits=this.renderer.text(a.text+(this.mapCredits||""),0,0).addClass("highcharts-credits").on("click",function(){a.href&&(O.location.href=a.href)}).attr({align:a.position.align,
294
+ zIndex:8}),b.styledMode||this.credits.css(a.style),this.credits.add().align(a.position),this.credits.update=function(a){b.credits=b.credits.destroy();b.addCredits(a)})},destroy:function(){var b=this,d=b.axes,f=b.series,n=b.container,g,q=n&&n.parentNode;c(b,"destroy");b.renderer.forExport?a.erase(p,b):p[b.index]=void 0;a.chartCount--;b.renderTo.removeAttribute("data-highcharts-chart");G(b);for(g=d.length;g--;)d[g]=d[g].destroy();this.scroller&&this.scroller.destroy&&this.scroller.destroy();for(g=f.length;g--;)f[g]=
295
+ f[g].destroy();"title subtitle chartBackground plotBackground plotBGImage plotBorder seriesGroup clipRect credits pointer rangeSelector legend resetZoomButton tooltip renderer".split(" ").forEach(function(a){var c=b[a];c&&c.destroy&&(b[a]=c.destroy())});n&&(n.innerHTML="",G(n),q&&x(n));m(b,function(a,c){delete b[c]})},firstRender:function(){var b=this,d=b.options;if(!b.isReadyToRender||b.isReadyToRender()){b.getContainer();b.resetMargins();b.setChartSize();b.propFromSeries();b.getAxes();(a.isArray(d.series)?
296
+ d.series:[]).forEach(function(a){b.initSeries(a)});b.linkSeries();c(b,"beforeRender");n&&(b.pointer=new n(b,d));b.render();if(!b.renderer.imgCount&&b.onload)b.onload();b.temporaryDisplay(!0)}},onload:function(){this.callbacks.concat([this.callback]).forEach(function(a){a&&void 0!==this.index&&a.apply(this,[this])},this);c(this,"load");c(this,"render");k(this.index)&&this.setReflow(this.options.chart.reflow);this.onload=null}})});J(H,"parts/ScrollablePlotArea.js",[H["parts/Globals.js"]],function(a){var C=
297
+ a.addEvent,D=a.Chart;C(D,"afterSetChartSize",function(z){var l=this.options.chart.scrollablePlotArea,e=l&&l.minWidth,l=l&&l.minHeight,t;if(!this.renderer.forExport){if(e){if(this.scrollablePixelsX=e=Math.max(0,e-this.chartWidth))this.plotWidth+=e,this.inverted?this.clipBox.height+=e:this.clipBox.width+=e,t={1:{name:"right",value:e}}}else l&&(this.scrollablePixelsY=e=Math.max(0,l-this.chartHeight))&&(this.plotHeight+=e,this.inverted?this.clipBox.width+=e:this.clipBox.height+=e,t={2:{name:"bottom",
298
+ value:e}});t&&!z.skipAxes&&this.axes.forEach(function(e){t[e.side]?e.getPlotLinePath=function(){var l=t[e.side].name,r=this[l],p;this[l]=r-t[e.side].value;p=a.Axis.prototype.getPlotLinePath.apply(this,arguments);this[l]=r;return p}:(e.setAxisSize(),e.setAxisTranslation())})}});C(D,"render",function(){this.scrollablePixelsX||this.scrollablePixelsY?(this.setUpScrolling&&this.setUpScrolling(),this.applyFixed()):this.fixedDiv&&this.applyFixed()});D.prototype.setUpScrolling=function(){var z={WebkitOverflowScrolling:"touch",
299
+ overflowX:"hidden",overflowY:"hidden"};this.scrollablePixelsX&&(z.overflowX="auto");this.scrollablePixelsY&&(z.overflowY="auto");this.scrollingContainer=a.createElement("div",{className:"highcharts-scrolling"},z,this.renderTo);this.innerContainer=a.createElement("div",{className:"highcharts-inner-container"},null,this.scrollingContainer);this.innerContainer.appendChild(this.container);this.setUpScrolling=null};D.prototype.moveFixedElements=function(){var a=this.container,l=this.fixedRenderer,e=".highcharts-contextbutton .highcharts-credits .highcharts-legend .highcharts-reset-zoom .highcharts-subtitle .highcharts-title .highcharts-legend-checkbox".split(" "),
300
+ t;this.scrollablePixelsX&&!this.inverted?t=".highcharts-yaxis":this.scrollablePixelsX&&this.inverted?t=".highcharts-xaxis":this.scrollablePixelsY&&!this.inverted?t=".highcharts-xaxis":this.scrollablePixelsY&&this.inverted&&(t=".highcharts-yaxis");e.push(t,t+"-labels");e.forEach(function(e){[].forEach.call(a.querySelectorAll(e),function(a){(a.namespaceURI===l.SVG_NS?l.box:l.box.parentNode).appendChild(a);a.style.pointerEvents="auto"})})};D.prototype.applyFixed=function(){var z,l,e=!this.fixedDiv,t=
301
+ this.options.chart.scrollablePlotArea;e?(this.fixedDiv=a.createElement("div",{className:"highcharts-fixed"},{position:"absolute",overflow:"hidden",pointerEvents:"none",zIndex:2},null,!0),this.renderTo.insertBefore(this.fixedDiv,this.renderTo.firstChild),this.renderTo.style.overflow="visible",this.fixedRenderer=z=new a.Renderer(this.fixedDiv,this.chartWidth,this.chartHeight),this.scrollableMask=z.path().attr({fill:a.color(this.options.chart.backgroundColor||"#fff").setOpacity(a.pick(t.opacity,.85)).get(),
302
+ zIndex:-1}).addClass("highcharts-scrollable-mask").add(),this.moveFixedElements(),C(this,"afterShowResetZoom",this.moveFixedElements)):this.fixedRenderer.setSize(this.chartWidth,this.chartHeight);z=this.chartWidth+(this.scrollablePixelsX||0);l=this.chartHeight+(this.scrollablePixelsY||0);a.stop(this.container);this.container.style.width=z+"px";this.container.style.height=l+"px";this.renderer.boxWrapper.attr({width:z,height:l,viewBox:[0,0,z,l].join(" ")});this.chartBackground.attr({width:z,height:l});
303
+ this.scrollablePixelsY&&(this.scrollingContainer.style.height=this.chartHeight+"px");e&&(t.scrollPositionX&&(this.scrollingContainer.scrollLeft=this.scrollablePixelsX*t.scrollPositionX),t.scrollPositionY&&(this.scrollingContainer.scrollTop=this.scrollablePixelsY*t.scrollPositionY));l=this.axisOffset;e=this.plotTop-l[0]-1;t=this.plotLeft-l[3]-1;z=this.plotTop+this.plotHeight+l[2]+1;l=this.plotLeft+this.plotWidth+l[1]+1;var r=this.plotLeft+this.plotWidth-(this.scrollablePixelsX||0),w=this.plotTop+this.plotHeight-
304
+ (this.scrollablePixelsY||0),e=this.scrollablePixelsX?["M",0,e,"L",this.plotLeft-1,e,"L",this.plotLeft-1,z,"L",0,z,"Z","M",r,e,"L",this.chartWidth,e,"L",this.chartWidth,z,"L",r,z,"Z"]:this.scrollablePixelsY?["M",t,0,"L",t,this.plotTop-1,"L",l,this.plotTop-1,"L",l,0,"Z","M",t,w,"L",t,this.chartHeight,"L",l,this.chartHeight,"L",l,w,"Z"]:["M",0,0];"adjustHeight"!==this.redrawTrigger&&this.scrollableMask.attr({d:e})}});J(H,"parts/Point.js",[H["parts/Globals.js"]],function(a){var C,D=a.extend,z=a.erase,
305
+ l=a.fireEvent,e=a.format,t=a.isArray,r=a.isNumber,w=a.pick,x=a.uniqueKey,p=a.defined,h=a.removeEvent;a.Point=C=function(){};a.Point.prototype={init:function(a,h,g){this.series=a;this.applyOptions(h,g);this.id=p(this.id)?this.id:x();this.resolveColor();a.chart.pointCount++;l(this,"afterInit");return this},resolveColor:function(){var a=this.series,h;h=a.chart.options.chart.colorCount;var g=a.chart.styledMode;g||this.options.color||(this.color=a.color);a.options.colorByPoint?(g||(h=a.options.colors||
306
+ a.chart.options.colors,this.color=this.color||h[a.colorCounter],h=h.length),g=a.colorCounter,a.colorCounter++,a.colorCounter===h&&(a.colorCounter=0)):g=a.colorIndex;this.colorIndex=w(this.colorIndex,g)},applyOptions:function(a,h){var g=this.series,c=g.options.pointValKey||g.pointValKey;a=C.prototype.optionsToObject.call(this,a);D(this,a);this.options=this.options?D(this.options,a):a;a.group&&delete this.group;a.dataLabels&&delete this.dataLabels;c&&(this.y=this[c]);if(this.isNull=w(this.isValid&&
307
+ !this.isValid(),null===this.x||!r(this.y,!0)))this.formatPrefix="null";this.selected&&(this.state="select");"name"in this&&void 0===h&&g.xAxis&&g.xAxis.hasNames&&(this.x=g.xAxis.nameToX(this));void 0===this.x&&g&&(this.x=void 0===h?g.autoIncrement(this):h);return this},setNestedProperty:function(k,h,g){g.split(".").reduce(function(c,b,d,f){c[b]=f.length-1===d?h:a.isObject(c[b],!0)?c[b]:{};return c[b]},k);return k},optionsToObject:function(k){var h={},g=this.series,c=g.options.keys,b=c||g.pointArrayMap||
308
+ ["y"],d=b.length,f=0,e=0;if(r(k)||null===k)h[b[0]]=k;else if(t(k))for(!c&&k.length>d&&(g=typeof k[0],"string"===g?h.name=k[0]:"number"===g&&(h.x=k[0]),f++);e<d;)c&&void 0===k[f]||(0<b[e].indexOf(".")?a.Point.prototype.setNestedProperty(h,k[f],b[e]):h[b[e]]=k[f]),f++,e++;else"object"===typeof k&&(h=k,k.dataLabels&&(g._hasPointLabels=!0),k.marker&&(g._hasPointMarkers=!0));return h},getClassName:function(){return"highcharts-point"+(this.selected?" highcharts-point-select":"")+(this.negative?" highcharts-negative":
309
+ "")+(this.isNull?" highcharts-null-point":"")+(void 0!==this.colorIndex?" highcharts-color-"+this.colorIndex:"")+(this.options.className?" "+this.options.className:"")+(this.zone&&this.zone.className?" "+this.zone.className.replace("highcharts-negative",""):"")},getZone:function(){var a=this.series,h=a.zones,a=a.zoneAxis||"y",g=0,c;for(c=h[g];this[a]>=c.value;)c=h[++g];this.nonZonedColor||(this.nonZonedColor=this.color);this.color=c&&c.color&&!this.options.color?c.color:this.nonZonedColor;return c},
310
+ destroy:function(){var a=this.series.chart,e=a.hoverPoints,g;a.pointCount--;e&&(this.setState(),z(e,this),e.length||(a.hoverPoints=null));if(this===a.hoverPoint)this.onMouseOut();if(this.graphic||this.dataLabel||this.dataLabels)h(this),this.destroyElements();this.legendItem&&a.legend.destroyItem(this);for(g in this)this[g]=null},destroyElements:function(a){var k=this,g=[],c,b;a=a||{graphic:1,dataLabel:1};a.graphic&&g.push("graphic","shadowGroup");a.dataLabel&&g.push("dataLabel","dataLabelUpper","connector");
311
+ for(b=g.length;b--;)c=g[b],k[c]&&(k[c]=k[c].destroy());["dataLabel","connector"].forEach(function(b){var c=b+"s";a[b]&&k[c]&&(k[c].forEach(function(a){a.element&&a.destroy()}),delete k[c])})},getLabelConfig:function(){return{x:this.category,y:this.y,color:this.color,colorIndex:this.colorIndex,key:this.name||this.category,series:this.series,point:this,percentage:this.percentage,total:this.total||this.stackTotal}},tooltipFormatter:function(a){var k=this.series,g=k.tooltipOptions,c=w(g.valueDecimals,
312
+ ""),b=g.valuePrefix||"",d=g.valueSuffix||"";k.chart.styledMode&&(a=k.chart.tooltip.styledModeFormat(a));(k.pointArrayMap||["y"]).forEach(function(f){f="{point."+f;if(b||d)a=a.replace(RegExp(f+"}","g"),b+f+"}"+d);a=a.replace(RegExp(f+"}","g"),f+":,."+c+"f}")});return e(a,{point:this,series:this.series},k.chart.time)},firePointEvent:function(a,h,g){var c=this,b=this.series.options;(b.point.events[a]||c.options&&c.options.events&&c.options.events[a])&&this.importEvents();"click"===a&&b.allowPointSelect&&
313
+ (g=function(a){c.select&&c.select(null,a.ctrlKey||a.metaKey||a.shiftKey)});l(this,a,h,g)},visible:!0}});J(H,"parts/Series.js",[H["parts/Globals.js"]],function(a){var C=a.addEvent,D=a.animObject,z=a.arrayMax,l=a.arrayMin,e=a.correctFloat,t=a.defaultOptions,r=a.defaultPlotOptions,w=a.defined,x=a.erase,p=a.extend,h=a.fireEvent,k=a.isArray,v=a.isNumber,g=a.isString,c=a.merge,b=a.objectEach,d=a.pick,f=a.removeEvent,y=a.splat,u=a.SVGElement,F=a.syncTimeout,m=a.win;a.Series=a.seriesType("line",null,{lineWidth:2,
314
+ allowPointSelect:!1,showCheckbox:!1,animation:{duration:1E3},events:{},marker:{lineWidth:0,lineColor:"#ffffff",enabledThreshold:2,radius:4,states:{normal:{animation:!0},hover:{animation:{duration:50},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:"#cccccc",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:{align:"center",formatter:function(){return null===this.y?"":a.numberFormat(this.y,-1)},padding:5,style:{fontSize:"11px",fontWeight:"bold",color:"contrast",textOutline:"1px contrast"},
315
+ verticalAlign:"bottom",x:0,y:0},cropThreshold:300,opacity:1,pointRange:0,softThreshold:!0,states:{normal:{animation:!0},hover:{animation:{duration:50},lineWidthPlus:1,marker:{},halo:{size:10,opacity:.25}},select:{animation:{duration:0}},inactive:{animation:{duration:50},opacity:.2}},stickyTracking:!0,turboThreshold:1E3,findNearestPointBy:"x"},{isCartesian:!0,pointClass:a.Point,sorted:!0,requireSorting:!0,directTouch:!1,axisTypes:["xAxis","yAxis"],colorCounter:0,parallelArrays:["x","y"],coll:"series",
316
+ cropShoulder:1,init:function(c,f){h(this,"init",{options:f});var n=this,g,m=c.series,q;n.chart=c;n.options=f=n.setOptions(f);n.linkedSeries=[];n.bindAxes();p(n,{name:f.name,state:"",visible:!1!==f.visible,selected:!0===f.selected});g=f.events;b(g,function(b,c){!a.isFunction(b)||n.hcEvents&&n.hcEvents[c]&&n.hcEvents[c].some(function(a){return a.fn===b})||C(n,c,b)});if(g&&g.click||f.point&&f.point.events&&f.point.events.click||f.allowPointSelect)c.runTrackerClick=!0;n.getColor();n.getSymbol();n.parallelArrays.forEach(function(a){n[a+
317
+ "Data"]||(n[a+"Data"]=[])});n.points||n.setData(f.data,!1);n.isCartesian&&(c.hasCartesianSeries=!0);m.length&&(q=m[m.length-1]);n._i=d(q&&q._i,-1)+1;c.orderSeries(this.insert(m));h(this,"afterInit")},insert:function(a){var b=this.options.index,c;if(v(b)){for(c=a.length;c--;)if(b>=d(a[c].options.index,a[c]._i)){a.splice(c+1,0,this);break}-1===c&&a.unshift(this);c+=1}else a.push(this);return d(c,a.length-1)},bindAxes:function(){var b=this,c=b.options,d=b.chart,f;h(this,"bindAxes",null,function(){(b.axisTypes||
318
+ []).forEach(function(n){d[n].forEach(function(a){f=a.options;if(c[n]===f.index||void 0!==c[n]&&c[n]===f.id||void 0===c[n]&&0===f.index)b.insert(a.series),b[n]=a,a.isDirty=!0});b[n]||b.optionalAxis===n||a.error(18,!0,d)})})},updateParallelArrays:function(a,b){var c=a.series,d=arguments,f=v(b)?function(d){var f="y"===d&&c.toYData?c.toYData(a):a[d];c[d+"Data"][b]=f}:function(a){Array.prototype[b].apply(c[a+"Data"],Array.prototype.slice.call(d,2))};c.parallelArrays.forEach(f)},hasData:function(){return this.visible&&
319
+ void 0!==this.dataMax&&void 0!==this.dataMin||this.visible&&this.yData&&0<this.yData.length},autoIncrement:function(){var a=this.options,b=this.xIncrement,c,f=a.pointIntervalUnit,g=this.chart.time,b=d(b,a.pointStart,0);this.pointInterval=c=d(this.pointInterval,a.pointInterval,1);f&&(a=new g.Date(b),"day"===f?g.set("Date",a,g.get("Date",a)+c):"month"===f?g.set("Month",a,g.get("Month",a)+c):"year"===f&&g.set("FullYear",a,g.get("FullYear",a)+c),c=a.getTime()-b);this.xIncrement=b+c;return b},setOptions:function(a){var b=
320
+ this.chart,f=b.options,n=f.plotOptions,g=b.userOptions||{};a=c(a);var b=b.styledMode,m={plotOptions:n,userOptions:a};h(this,"setOptions",m);var k=g.plotOptions||{},e=m.plotOptions[this.type];this.userOptions=m.userOptions;g=c(e,n.series,g.plotOptions&&g.plotOptions[this.type],a);this.tooltipOptions=c(t.tooltip,t.plotOptions.series&&t.plotOptions.series.tooltip,t.plotOptions[this.type].tooltip,f.tooltip.userOptions,n.series&&n.series.tooltip,n[this.type].tooltip,a.tooltip);this.stickyTracking=d(a.stickyTracking,
321
+ k[this.type]&&k[this.type].stickyTracking,k.series&&k.series.stickyTracking,this.tooltipOptions.shared&&!this.noSharedTooltip?!0:g.stickyTracking);null===e.marker&&delete g.marker;this.zoneAxis=g.zoneAxis;f=this.zones=(g.zones||[]).slice();!g.negativeColor&&!g.negativeFillColor||g.zones||(n={value:g[this.zoneAxis+"Threshold"]||g.threshold||0,className:"highcharts-negative"},b||(n.color=g.negativeColor,n.fillColor=g.negativeFillColor),f.push(n));f.length&&w(f[f.length-1].value)&&f.push(b?{}:{color:this.color,
322
+ fillColor:this.fillColor});h(this,"afterSetOptions",{options:g});return g},getName:function(){return d(this.options.name,"Series "+(this.index+1))},getCyclic:function(a,b,c){var f,n=this.chart,g=this.userOptions,m=a+"Index",k=a+"Counter",h=c?c.length:d(n.options.chart[a+"Count"],n[a+"Count"]);b||(f=d(g[m],g["_"+m]),w(f)||(n.series.length||(n[k]=0),g["_"+m]=f=n[k]%h,n[k]+=1),c&&(b=c[f]));void 0!==f&&(this[m]=f);this[a]=b},getColor:function(){this.chart.styledMode?this.getCyclic("color"):this.options.colorByPoint?
323
+ this.options.color=null:this.getCyclic("color",this.options.color||r[this.type].color,this.chart.options.colors)},getSymbol:function(){this.getCyclic("symbol",this.options.marker.symbol,this.chart.options.symbols)},findPointIndex:function(a,b){var c=a.id;a=a.x;var d=this.points,f,n;c&&(n=(c=this.chart.get(c))&&c.index,void 0!==n&&(f=!0));void 0===n&&v(a)&&(n=this.xData.indexOf(a,b));-1!==n&&void 0!==n&&this.cropped&&(n=n>=this.cropStart?n-this.cropStart:n);!f&&d[n]&&d[n].touched&&(n=void 0);return n},
324
+ drawLegendSymbol:a.LegendSymbolMixin.drawLineMarker,updateData:function(b){var c=this.options,d=this.points,f=[],n,g,m,k=this.requireSorting,h=b.length===d.length,e=!0;this.xIncrement=null;b.forEach(function(b,g){var q,e=a.defined(b)&&this.pointClass.prototype.optionsToObject.call({series:this},b)||{};q=e.x;if(e.id||v(q))if(q=this.findPointIndex(e,m),-1===q||void 0===q?f.push(b):d[q]&&b!==c.data[q]?(d[q].update(b,!1,null,!1),d[q].touched=!0,k&&(m=q+1)):d[q]&&(d[q].touched=!0),!h||g!==q||this.hasDerivedData)n=
325
+ !0},this);if(n)for(b=d.length;b--;)(g=d[b])&&!g.touched&&g.remove(!1);else h?b.forEach(function(a,b){d[b].update&&a!==d[b].y&&d[b].update(a,!1,null,!1)}):e=!1;d.forEach(function(a){a&&(a.touched=!1)});if(!e)return!1;f.forEach(function(a){this.addPoint(a,!1,null,null,!1)},this);return!0},setData:function(b,c,f,m){var n=this,q=n.points,h=q&&q.length||0,e,u=n.options,B=n.chart,E=null,G=n.xAxis,p=u.turboThreshold,y=this.xData,l=this.yData,r=(e=n.pointArrayMap)&&e.length,F=u.keys,t=0,x=1,w;b=b||[];e=b.length;
326
+ c=d(c,!0);!1!==m&&e&&h&&!n.cropped&&!n.hasGroupedData&&n.visible&&!n.isSeriesBoosting&&(w=this.updateData(b));if(!w){n.xIncrement=null;n.colorCounter=0;this.parallelArrays.forEach(function(a){n[a+"Data"].length=0});if(p&&e>p){for(f=0;null===E&&f<e;)E=b[f],f++;if(v(E))for(f=0;f<e;f++)y[f]=this.autoIncrement(),l[f]=b[f];else if(k(E))if(r)for(f=0;f<e;f++)E=b[f],y[f]=E[0],l[f]=E.slice(1,r+1);else for(F&&(t=F.indexOf("x"),x=F.indexOf("y"),t=0<=t?t:0,x=0<=x?x:1),f=0;f<e;f++)E=b[f],y[f]=E[t],l[f]=E[x];else a.error(12,
327
+ !1,B)}else for(f=0;f<e;f++)void 0!==b[f]&&(E={series:n},n.pointClass.prototype.applyOptions.apply(E,[b[f]]),n.updateParallelArrays(E,f));l&&g(l[0])&&a.error(14,!0,B);n.data=[];n.options.data=n.userOptions.data=b;for(f=h;f--;)q[f]&&q[f].destroy&&q[f].destroy();G&&(G.minRange=G.userMinRange);n.isDirty=B.isDirtyBox=!0;n.isDirtyData=!!q;f=!1}"point"===u.legendType&&(this.processData(),this.generatePoints());c&&B.redraw(f)},processData:function(b){var c=this.xData,d=this.yData,f=c.length,n;n=0;var g,m,
328
+ k=this.xAxis,h,e=this.options;h=e.cropThreshold;var u=this.getExtremesFromAll||e.getExtremesFromAll,p=this.isCartesian,e=k&&k.val2lin,y=k&&k.isLog,v=this.requireSorting,l,r;if(p&&!this.isDirty&&!k.isDirty&&!this.yAxis.isDirty&&!b)return!1;k&&(b=k.getExtremes(),l=b.min,r=b.max);p&&this.sorted&&!u&&(!h||f>h||this.forceCrop)&&(c[f-1]<l||c[0]>r?(c=[],d=[]):this.yData&&(c[0]<l||c[f-1]>r)&&(n=this.cropData(this.xData,this.yData,l,r),c=n.xData,d=n.yData,n=n.start,g=!0));for(h=c.length||1;--h;)f=y?e(c[h])-
329
+ e(c[h-1]):c[h]-c[h-1],0<f&&(void 0===m||f<m)?m=f:0>f&&v&&(a.error(15,!1,this.chart),v=!1);this.cropped=g;this.cropStart=n;this.processedXData=c;this.processedYData=d;this.closestPointRange=m},cropData:function(a,b,c,f,g){var n=a.length,m=0,k=n,h;g=d(g,this.cropShoulder);for(h=0;h<n;h++)if(a[h]>=c){m=Math.max(0,h-g);break}for(c=h;c<n;c++)if(a[c]>f){k=c+g;break}return{xData:a.slice(m,k),yData:b.slice(m,k),start:m,end:k}},generatePoints:function(){var a=this.options,b=a.data,c=this.data,d,f=this.processedXData,
330
+ g=this.processedYData,m=this.pointClass,k=f.length,e=this.cropStart||0,u,v=this.hasGroupedData,a=a.keys,l,r=[],F;c||v||(c=[],c.length=b.length,c=this.data=c);a&&v&&(this.options.keys=!1);for(F=0;F<k;F++)u=e+F,v?(l=(new m).init(this,[f[F]].concat(y(g[F]))),l.dataGroup=this.groupMap[F],l.dataGroup.options&&(l.options=l.dataGroup.options,p(l,l.dataGroup.options),delete l.dataLabels)):(l=c[u])||void 0===b[u]||(c[u]=l=(new m).init(this,b[u],f[F])),l&&(l.index=u,r[F]=l);this.options.keys=a;if(c&&(k!==(d=
331
+ c.length)||v))for(F=0;F<d;F++)F!==e||v||(F+=k),c[F]&&(c[F].destroyElements(),c[F].plotX=void 0);this.data=c;this.points=r;h(this,"afterGeneratePoints")},getXExtremes:function(a){return{min:l(a),max:z(a)}},getExtremes:function(a){var b=this.yAxis,c=this.processedXData,d,f=[],n=0;d=this.xAxis.getExtremes();var g=d.min,m=d.max,e,u,p=this.requireSorting?this.cropShoulder:0,y,r;a=a||this.stackedYData||this.processedYData||[];d=a.length;for(r=0;r<d;r++)if(u=c[r],y=a[r],e=(v(y,!0)||k(y))&&(!b.positiveValuesOnly||
332
+ y.length||0<y),u=this.getExtremesFromAll||this.options.getExtremesFromAll||this.cropped||(c[r+p]||u)>=g&&(c[r-p]||u)<=m,e&&u)if(e=y.length)for(;e--;)"number"===typeof y[e]&&(f[n++]=y[e]);else f[n++]=y;this.dataMin=l(f);this.dataMax=z(f);h(this,"afterGetExtremes")},translate:function(){this.processedXData||this.processData();this.generatePoints();var a=this.options,b=a.stacking,c=this.xAxis,f=c.categories,g=this.yAxis,m=this.points,u=m.length,p=!!this.modifyValue,y,l=this.pointPlacementToXValue(),
333
+ r=v(l),F=a.threshold,t=a.startFromThreshold?F:0,x,z,D,C,H=this.zoneAxis||"y",W=Number.MAX_VALUE;for(y=0;y<u;y++){var J=m[y],U=J.x;z=J.y;var S=J.low,X=b&&g.stacks[(this.negStacks&&z<(t?0:F)?"-":"")+this.stackKey],Y,V;g.positiveValuesOnly&&null!==z&&0>=z&&(J.isNull=!0);J.plotX=x=e(Math.min(Math.max(-1E5,c.translate(U,0,0,0,1,l,"flags"===this.type)),1E5));b&&this.visible&&!J.isNull&&X&&X[U]&&(C=this.getStackIndicator(C,U,this.index),Y=X[U],V=Y.points[C.key]);k(V)&&(S=V[0],z=V[1],S===t&&C.key===X[U].base&&
334
+ (S=d(v(F)&&F,g.min)),g.positiveValuesOnly&&0>=S&&(S=null),J.total=J.stackTotal=Y.total,J.percentage=Y.total&&J.y/Y.total*100,J.stackY=z,Y.setOffset(this.pointXOffset||0,this.barW||0));J.yBottom=w(S)?Math.min(Math.max(-1E5,g.translate(S,0,1,0,1)),1E5):null;p&&(z=this.modifyValue(z,J));J.plotY=z="number"===typeof z&&Infinity!==z?Math.min(Math.max(-1E5,g.translate(z,0,1,0,1)),1E5):void 0;J.isInside=void 0!==z&&0<=z&&z<=g.len&&0<=x&&x<=c.len;J.clientX=r?e(c.translate(U,0,0,0,1,l)):x;J.negative=J[H]<(a[H+
335
+ "Threshold"]||F||0);J.category=f&&void 0!==f[J.x]?f[J.x]:J.x;J.isNull||(void 0!==D&&(W=Math.min(W,Math.abs(x-D))),D=x);J.zone=this.zones.length&&J.getZone()}this.closestPointRangePx=W;h(this,"afterTranslate")},getValidPoints:function(a,b,c){var d=this.chart;return(a||this.points||[]).filter(function(a){return b&&!d.isInsidePlot(a.plotX,a.plotY,d.inverted)?!1:c||!a.isNull})},getClipBox:function(a,b){var c=this.options,d=this.chart,f=d.inverted,g=this.xAxis,n=g&&this.yAxis;a&&!1===c.clip&&n?a=f?{y:-d.chartWidth+
336
+ n.len+n.pos,height:d.chartWidth,width:d.chartHeight,x:-d.chartHeight+g.len+g.pos}:{y:-n.pos,height:d.chartHeight,width:d.chartWidth,x:-g.pos}:(a=this.clipBox||d.clipBox,b&&(a.width=d.plotSizeX,a.x=0));return b?{width:a.width,x:a.x}:a},setClip:function(a){var b=this.chart,c=this.options,d=b.renderer,f=b.inverted,g=this.clipBox,n=this.getClipBox(a),m=this.sharedClipKey||["_sharedClip",a&&a.duration,a&&a.easing,n.height,c.xAxis,c.yAxis].join(),k=b[m],h=b[m+"m"];k||(a&&(n.width=0,f&&(n.x=b.plotSizeX+
337
+ (!1!==c.clip?0:b.plotTop)),b[m+"m"]=h=d.clipRect(f?b.plotSizeX+99:-99,f?-b.plotLeft:-b.plotTop,99,f?b.chartWidth:b.chartHeight)),b[m]=k=d.clipRect(n),k.count={length:0});a&&!k.count[this.index]&&(k.count[this.index]=!0,k.count.length+=1);if(!1!==c.clip||a)this.group.clip(a||g?k:b.clipRect),this.markerGroup.clip(h),this.sharedClipKey=m;a||(k.count[this.index]&&(delete k.count[this.index],--k.count.length),0===k.count.length&&m&&b[m]&&(g||(b[m]=b[m].destroy()),b[m+"m"]&&(b[m+"m"]=b[m+"m"].destroy())))},
338
+ animate:function(a){var b=this.chart,c=D(this.options.animation),d,f;a?this.setClip(c):(d=this.sharedClipKey,a=b[d],f=this.getClipBox(c,!0),a&&a.animate(f,c),b[d+"m"]&&b[d+"m"].animate({width:f.width+99,x:f.x-(b.inverted?0:99)},c),this.animate=null)},afterAnimate:function(){this.setClip();h(this,"afterAnimate");this.finishedAnimating=!0},drawPoints:function(){var a=this.points,b=this.chart,c,f,g,m,k,h=this.options.marker,e,u,p,y=this[this.specialGroup]||this.markerGroup;c=this.xAxis;var l,v=d(h.enabled,
339
+ !c||c.isRadial?!0:null,this.closestPointRangePx>=h.enabledThreshold*h.radius);if(!1!==h.enabled||this._hasPointMarkers)for(c=0;c<a.length;c++)if(f=a[c],k=(m=f.graphic)?"animate":"attr",e=f.marker||{},u=!!f.marker,g=v&&void 0===e.enabled||e.enabled,p=!1!==f.isInside,g&&!f.isNull){g=d(e.symbol,this.symbol);l=this.markerAttribs(f,f.selected&&"select");m?m[p?"show":"hide"](!0).animate(l):p&&(0<l.width||f.hasImage)&&(f.graphic=m=b.renderer.symbol(g,l.x,l.y,l.width,l.height,u?e:h).add(y));if(m&&!b.styledMode)m[k](this.pointAttribs(f,
340
+ f.selected&&"select"));m&&m.addClass(f.getClassName(),!0)}else m&&(f.graphic=m.destroy())},markerAttribs:function(a,b){var c=this.options.marker,f=a.marker||{},g=f.symbol||c.symbol,n=d(f.radius,c.radius);b&&(c=c.states[b],b=f.states&&f.states[b],n=d(b&&b.radius,c&&c.radius,n+(c&&c.radiusPlus||0)));a.hasImage=g&&0===g.indexOf("url");a.hasImage&&(n=0);a={x:Math.floor(a.plotX)-n,y:a.plotY-n};n&&(a.width=a.height=2*n);return a},pointAttribs:function(a,b){var c=this.options.marker,f=a&&a.options,g=f&&
341
+ f.marker||{},n=this.color,m=f&&f.color,k=a&&a.color,f=d(g.lineWidth,c.lineWidth),h=a&&a.zone&&a.zone.color;a=1;n=m||h||k||n;m=g.fillColor||c.fillColor||n;n=g.lineColor||c.lineColor||n;b=b||"normal";c=c.states[b];b=g.states&&g.states[b]||{};f=d(b.lineWidth,c.lineWidth,f+d(b.lineWidthPlus,c.lineWidthPlus,0));m=b.fillColor||c.fillColor||m;n=b.lineColor||c.lineColor||n;a=d(b.opacity,c.opacity,a);return{stroke:n,"stroke-width":f,fill:m,opacity:a}},destroy:function(c){var d=this,g=d.chart,n=/AppleWebKit\/533/.test(m.navigator.userAgent),
342
+ k,q,e=d.data||[],p,y;h(d,"destroy");c||f(d);(d.axisTypes||[]).forEach(function(a){(y=d[a])&&y.series&&(x(y.series,d),y.isDirty=y.forceRedraw=!0)});d.legendItem&&d.chart.legend.destroyItem(d);for(q=e.length;q--;)(p=e[q])&&p.destroy&&p.destroy();d.points=null;a.clearTimeout(d.animationTimeout);b(d,function(a,b){a instanceof u&&!a.survive&&(k=n&&"group"===b?"hide":"destroy",a[k]())});g.hoverSeries===d&&(g.hoverSeries=null);x(g.series,d);g.orderSeries();b(d,function(a,b){c&&"hcEvents"===b||delete d[b]})},
343
+ getGraphPath:function(a,b,c){var d=this,f=d.options,g=f.step,n,m=[],k=[],h;a=a||d.points;(n=a.reversed)&&a.reverse();(g={right:1,center:2}[g]||g&&3)&&n&&(g=4-g);!f.connectNulls||b||c||(a=this.getValidPoints(a));a.forEach(function(n,q){var e=n.plotX,u=n.plotY,B=a[q-1];(n.leftCliff||B&&B.rightCliff)&&!c&&(h=!0);n.isNull&&!w(b)&&0<q?h=!f.connectNulls:n.isNull&&!b?h=!0:(0===q||h?q=["M",n.plotX,n.plotY]:d.getPointSpline?q=d.getPointSpline(a,n,q):g?(q=1===g?["L",B.plotX,u]:2===g?["L",(B.plotX+e)/2,B.plotY,
344
+ "L",(B.plotX+e)/2,u]:["L",e,B.plotY],q.push("L",e,u)):q=["L",e,u],k.push(n.x),g&&(k.push(n.x),2===g&&k.push(n.x)),m.push.apply(m,q),h=!1)});m.xMap=k;return d.graphPath=m},drawGraph:function(){var a=this,b=this.options,c=(this.gappedPath||this.getGraphPath).call(this),d=this.chart.styledMode,f=[["graph","highcharts-graph"]];d||f[0].push(b.lineColor||this.color||"#cccccc",b.dashStyle);f=a.getZonesGraphs(f);f.forEach(function(f,g){var n=f[0],m=a[n],q=m?"animate":"attr";m?(m.endX=a.preventGraphAnimation?
345
+ null:c.xMap,m.animate({d:c})):c.length&&(a[n]=m=a.chart.renderer.path(c).addClass(f[1]).attr({zIndex:1}).add(a.group));m&&!d&&(n={stroke:f[2],"stroke-width":b.lineWidth,fill:a.fillGraph&&a.color||"none"},f[3]?n.dashstyle=f[3]:"square"!==b.linecap&&(n["stroke-linecap"]=n["stroke-linejoin"]="round"),m[q](n).shadow(2>g&&b.shadow));m&&(m.startX=c.xMap,m.isArea=c.isArea)})},getZonesGraphs:function(a){this.zones.forEach(function(b,c){c=["zone-graph-"+c,"highcharts-graph highcharts-zone-graph-"+c+" "+(b.className||
346
+ "")];this.chart.styledMode||c.push(b.color||this.color,b.dashStyle||this.options.dashStyle);a.push(c)},this);return a},applyZones:function(){var a=this,b=this.chart,c=b.renderer,f=this.zones,g,m,k=this.clips||[],h,e=this.graph,u=this.area,p=Math.max(b.chartWidth,b.chartHeight),y=this[(this.zoneAxis||"y")+"Axis"],l,v,r=b.inverted,F,t,x,w,z=!1;f.length&&(e||u)&&y&&void 0!==y.min?(v=y.reversed,F=y.horiz,e&&!this.showLine&&e.hide(),u&&u.hide(),l=y.getExtremes(),f.forEach(function(f,n){g=v?F?b.plotWidth:
347
+ 0:F?0:y.toPixels(l.min)||0;g=Math.min(Math.max(d(m,g),0),p);m=Math.min(Math.max(Math.round(y.toPixels(d(f.value,l.max),!0)||0),0),p);z&&(g=m=y.toPixels(l.max));t=Math.abs(g-m);x=Math.min(g,m);w=Math.max(g,m);y.isXAxis?(h={x:r?w:x,y:0,width:t,height:p},F||(h.x=b.plotHeight-h.x)):(h={x:0,y:r?w:x,width:p,height:t},F&&(h.y=b.plotWidth-h.y));r&&c.isVML&&(h=y.isXAxis?{x:0,y:v?x:w,height:h.width,width:b.chartWidth}:{x:h.y-b.plotLeft-b.spacingBox.x,y:0,width:h.height,height:b.chartHeight});k[n]?k[n].animate(h):
348
+ k[n]=c.clipRect(h);e&&a["zone-graph-"+n].clip(k[n]);u&&a["zone-area-"+n].clip(k[n]);z=f.value>l.max;a.resetZones&&0===m&&(m=void 0)}),this.clips=k):a.visible&&(e&&e.show(!0),u&&u.show(!0))},invertGroups:function(a){function b(){["group","markerGroup"].forEach(function(b){c[b]&&(d.renderer.isVML&&c[b].attr({width:c.yAxis.len,height:c.xAxis.len}),c[b].width=c.yAxis.len,c[b].height=c.xAxis.len,c[b].invert(a))})}var c=this,d=c.chart,f;c.xAxis&&(f=C(d,"resize",b),C(c,"destroy",f),b(a),c.invertGroups=b)},
349
+ plotGroup:function(a,b,c,d,f){var g=this[a],n=!g;n&&(this[a]=g=this.chart.renderer.g().attr({zIndex:d||.1}).add(f));g.addClass("highcharts-"+b+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(w(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(g.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0);g.attr({visibility:c})[n?"attr":"animate"](this.getPlotBox());return g},getPlotBox:function(){var a=this.chart,b=this.xAxis,c=this.yAxis;
350
+ a.inverted&&(b=c,c=this.xAxis);return{translateX:b?b.left:a.plotLeft,translateY:c?c.top:a.plotTop,scaleX:1,scaleY:1}},render:function(){var a=this,b=a.chart,c,d=a.options,f=!!a.animate&&b.renderer.isSVG&&D(d.animation).duration,g=a.visible?"inherit":"hidden",m=d.zIndex,k=a.hasRendered,e=b.seriesGroup,u=b.inverted;h(this,"render");c=a.plotGroup("group","series",g,m,e);a.markerGroup=a.plotGroup("markerGroup","markers",g,m,e);f&&a.animate(!0);c.inverted=a.isCartesian||a.invertable?u:!1;a.drawGraph&&
351
+ (a.drawGraph(),a.applyZones());a.visible&&a.drawPoints();a.drawDataLabels&&a.drawDataLabels();a.redrawPoints&&a.redrawPoints();a.drawTracker&&!1!==a.options.enableMouseTracking&&a.drawTracker();a.invertGroups(u);!1===d.clip||a.sharedClipKey||k||c.clip(b.clipRect);f&&a.animate();k||(a.animationTimeout=F(function(){a.afterAnimate()},f));a.isDirty=!1;a.hasRendered=!0;h(a,"afterRender")},redraw:function(){var a=this.chart,b=this.isDirty||this.isDirtyData,c=this.group,f=this.xAxis,g=this.yAxis;c&&(a.inverted&&
352
+ c.attr({width:a.plotWidth,height:a.plotHeight}),c.animate({translateX:d(f&&f.left,a.plotLeft),translateY:d(g&&g.top,a.plotTop)}));this.translate();this.render();b&&delete this.kdTree},kdAxisArray:["clientX","plotY"],searchPoint:function(a,b){var c=this.xAxis,d=this.yAxis,f=this.chart.inverted;return this.searchKDTree({clientX:f?c.len-a.chartY+c.pos:a.chartX-c.pos,plotY:f?d.len-a.chartX+d.pos:a.chartY-d.pos},b,a)},buildKDTree:function(a){function b(a,d,f){var g,m;if(m=a&&a.length)return g=c.kdAxisArray[d%
353
+ f],a.sort(function(a,b){return a[g]-b[g]}),m=Math.floor(m/2),{point:a[m],left:b(a.slice(0,m),d+1,f),right:b(a.slice(m+1),d+1,f)}}this.buildingKdTree=!0;var c=this,d=-1<c.options.findNearestPointBy.indexOf("y")?2:1;delete c.kdTree;F(function(){c.kdTree=b(c.getValidPoints(null,!c.directTouch),d,d);c.buildingKdTree=!1},c.options.kdNow||a&&"touchstart"===a.type?0:1)},searchKDTree:function(a,b,c){function d(a,b,c,k){var h=b.point,q=f.kdAxisArray[c%k],e,u,p=h;u=w(a[g])&&w(h[g])?Math.pow(a[g]-h[g],2):null;
354
+ e=w(a[m])&&w(h[m])?Math.pow(a[m]-h[m],2):null;e=(u||0)+(e||0);h.dist=w(e)?Math.sqrt(e):Number.MAX_VALUE;h.distX=w(u)?Math.sqrt(u):Number.MAX_VALUE;q=a[q]-h[q];e=0>q?"left":"right";u=0>q?"right":"left";b[e]&&(e=d(a,b[e],c+1,k),p=e[n]<p[n]?e:h);b[u]&&Math.sqrt(q*q)<p[n]&&(a=d(a,b[u],c+1,k),p=a[n]<p[n]?a:p);return p}var f=this,g=this.kdAxisArray[0],m=this.kdAxisArray[1],n=b?"distX":"dist";b=-1<f.options.findNearestPointBy.indexOf("y")?2:1;this.kdTree||this.buildingKdTree||this.buildKDTree(c);if(this.kdTree)return d(a,
355
+ this.kdTree,b,b)},pointPlacementToXValue:function(){var a=this.options.pointPlacement;"between"===a&&(a=.5);v(a)&&(a*=d(this.options.pointRange||this.xAxis.pointRange));return a}})});J(H,"parts/Stacking.js",[H["parts/Globals.js"]],function(a){var C=a.Axis,D=a.Chart,z=a.correctFloat,l=a.defined,e=a.destroyObjectProperties,t=a.format,r=a.objectEach,w=a.pick,x=a.Series;a.StackItem=function(a,h,k,e,g){var c=a.chart.inverted;this.axis=a;this.isNegative=k;this.options=h;this.x=e;this.total=null;this.points=
356
+ {};this.stack=g;this.rightCliff=this.leftCliff=0;this.alignOptions={align:h.align||(c?k?"left":"right":"center"),verticalAlign:h.verticalAlign||(c?"middle":k?"bottom":"top"),y:w(h.y,c?4:k?14:-6),x:w(h.x,c?k?-6:6:0)};this.textAlign=h.textAlign||(c?k?"right":"left":"center")};a.StackItem.prototype={destroy:function(){e(this,this.axis)},render:function(a){var h=this.axis.chart,k=this.options,e=k.format,e=e?t(e,this,h.time):k.formatter.call(this);this.label?this.label.attr({text:e,visibility:"hidden"}):
357
+ this.label=h.renderer.text(e,null,null,k.useHTML).css(k.style).attr({align:this.textAlign,rotation:k.rotation,visibility:"hidden"}).add(a);this.label.labelrank=h.plotHeight},setOffset:function(a,h,k,e){var g=this.axis,c=g.chart;e=g.translate(g.usePercentage?100:e?e:this.total,0,0,0,1);k=g.translate(k?k:0);k=l(e)&&Math.abs(e-k);a=c.xAxis[0].translate(this.x)+a;g=l(e)&&this.getStackBox(c,this,a,e,h,k,g);(h=this.label)&&g&&(h.align(this.alignOptions,null,g),g=h.alignAttr,h[!1===this.options.crop||c.isInsidePlot(g.x,
358
+ g.y)?"show":"hide"](!0))},getStackBox:function(a,h,k,e,g,c,b){var d=h.axis.reversed,f=a.inverted;a=b.height+b.pos-(f?a.plotLeft:a.plotTop);h=h.isNegative&&!d||!h.isNegative&&d;return{x:f?h?e:e-c:k,y:f?a-k-g:h?a-e-c:a-e,width:f?c:g,height:f?g:c}}};D.prototype.getStacks=function(){var a=this;a.yAxis.forEach(function(a){a.stacks&&a.hasVisibleSeries&&(a.oldStacks=a.stacks)});a.series.forEach(function(e){!e.options.stacking||!0!==e.visible&&!1!==a.options.chart.ignoreHiddenSeries||(e.stackKey=e.type+w(e.options.stack,
359
+ ""))})};C.prototype.buildStacks=function(){var a=this.series,e=w(this.options.reversedStacks,!0),k=a.length,l;if(!this.isXAxis){this.usePercentage=!1;for(l=k;l--;)a[e?l:k-l-1].setStackedPoints();for(l=0;l<k;l++)a[l].modifyStacks()}};C.prototype.renderStackTotals=function(){var a=this.chart,e=a.renderer,k=this.stacks,l=this.stackTotalGroup;l||(this.stackTotalGroup=l=e.g("stack-labels").attr({visibility:"visible",zIndex:6}).add());l.translate(a.plotLeft,a.plotTop);r(k,function(a){r(a,function(a){a.render(l)})})};
360
+ C.prototype.resetStacks=function(){var a=this,e=a.stacks;a.isXAxis||r(e,function(k){r(k,function(e,g){e.touched<a.stacksTouched?(e.destroy(),delete k[g]):(e.total=null,e.cumulative=null)})})};C.prototype.cleanStacks=function(){var a;this.isXAxis||(this.oldStacks&&(a=this.stacks=this.oldStacks),r(a,function(a){r(a,function(a){a.cumulative=a.total})}))};x.prototype.setStackedPoints=function(){if(this.options.stacking&&(!0===this.visible||!1===this.chart.options.chart.ignoreHiddenSeries)){var e=this.processedXData,
361
+ h=this.processedYData,k=[],v=h.length,g=this.options,c=g.threshold,b=w(g.startFromThreshold&&c,0),d=g.stack,g=g.stacking,f=this.stackKey,y="-"+f,u=this.negStacks,r=this.yAxis,m=r.stacks,n=r.oldStacks,B,E,G,A,q,t,x;r.stacksTouched+=1;for(q=0;q<v;q++)t=e[q],x=h[q],B=this.getStackIndicator(B,t,this.index),A=B.key,G=(E=u&&x<(b?0:c))?y:f,m[G]||(m[G]={}),m[G][t]||(n[G]&&n[G][t]?(m[G][t]=n[G][t],m[G][t].total=null):m[G][t]=new a.StackItem(r,r.options.stackLabels,E,t,d)),G=m[G][t],null!==x?(G.points[A]=G.points[this.index]=
362
+ [w(G.cumulative,b)],l(G.cumulative)||(G.base=A),G.touched=r.stacksTouched,0<B.index&&!1===this.singleStacks&&(G.points[A][0]=G.points[this.index+","+t+",0"][0])):G.points[A]=G.points[this.index]=null,"percent"===g?(E=E?f:y,u&&m[E]&&m[E][t]?(E=m[E][t],G.total=E.total=Math.max(E.total,G.total)+Math.abs(x)||0):G.total=z(G.total+(Math.abs(x)||0))):G.total=z(G.total+(x||0)),G.cumulative=w(G.cumulative,b)+(x||0),null!==x&&(G.points[A].push(G.cumulative),k[q]=G.cumulative);"percent"===g&&(r.usePercentage=
363
+ !0);this.stackedYData=k;r.oldStacks={}}};x.prototype.modifyStacks=function(){var a=this,e=a.stackKey,k=a.yAxis.stacks,l=a.processedXData,g,c=a.options.stacking;a[c+"Stacker"]&&[e,"-"+e].forEach(function(b){for(var d=l.length,f,e;d--;)if(f=l[d],g=a.getStackIndicator(g,f,a.index,b),e=(f=k[b]&&k[b][f])&&f.points[g.key])a[c+"Stacker"](e,f,d)})};x.prototype.percentStacker=function(a,e,k){e=e.total?100/e.total:0;a[0]=z(a[0]*e);a[1]=z(a[1]*e);this.stackedYData[k]=a[1]};x.prototype.getStackIndicator=function(a,
364
+ e,k,v){!l(a)||a.x!==e||v&&a.key!==v?a={x:e,index:0,key:v}:a.index++;a.key=[k,e,a.index].join();return a}});J(H,"parts/Dynamics.js",[H["parts/Globals.js"]],function(a){var C=a.addEvent,D=a.animate,z=a.Axis,l=a.Chart,e=a.createElement,t=a.css,r=a.defined,w=a.erase,x=a.extend,p=a.fireEvent,h=a.isNumber,k=a.isObject,v=a.isArray,g=a.merge,c=a.objectEach,b=a.pick,d=a.Point,f=a.Series,y=a.seriesTypes,u=a.setAnimation,F=a.splat;a.cleanRecursively=function(b,d){var f={};c(b,function(c,g){if(k(b[g],!0)&&!b.nodeType&&
365
+ d[g])c=a.cleanRecursively(b[g],d[g]),Object.keys(c).length&&(f[g]=c);else if(k(b[g])||b[g]!==d[g])f[g]=b[g]});return f};x(l.prototype,{addSeries:function(a,c,d){var f,g=this;a&&(c=b(c,!0),p(g,"addSeries",{options:a},function(){f=g.initSeries(a);g.isDirtyLegend=!0;g.linkSeries();p(g,"afterAddSeries",{series:f});c&&g.redraw(d)}));return f},addAxis:function(a,c,d,f){var m=c?"xAxis":"yAxis",n=this.options;a=g(a,{index:this[m].length,isX:c});c=new z(this,a);n[m]=F(n[m]||{});n[m].push(a);b(d,!0)&&this.redraw(f);
366
+ return c},showLoading:function(a){var b=this,c=b.options,d=b.loadingDiv,f=c.loading,g=function(){d&&t(d,{left:b.plotLeft+"px",top:b.plotTop+"px",width:b.plotWidth+"px",height:b.plotHeight+"px"})};d||(b.loadingDiv=d=e("div",{className:"highcharts-loading highcharts-loading-hidden"},null,b.container),b.loadingSpan=e("span",{className:"highcharts-loading-inner"},null,d),C(b,"redraw",g));d.className="highcharts-loading";b.loadingSpan.innerHTML=a||c.lang.loading;b.styledMode||(t(d,x(f.style,{zIndex:10})),
367
+ t(b.loadingSpan,f.labelStyle),b.loadingShown||(t(d,{opacity:0,display:""}),D(d,{opacity:f.style.opacity||.5},{duration:f.showDuration||0})));b.loadingShown=!0;g()},hideLoading:function(){var a=this.options,b=this.loadingDiv;b&&(b.className="highcharts-loading highcharts-loading-hidden",this.styledMode||D(b,{opacity:0},{duration:a.loading.hideDuration||100,complete:function(){t(b,{display:"none"})}}));this.loadingShown=!1},propsRequireDirtyBox:"backgroundColor borderColor borderWidth borderRadius plotBackgroundColor plotBackgroundImage plotBorderColor plotBorderWidth plotShadow shadow".split(" "),
368
+ propsRequireReflow:"margin marginTop marginRight marginBottom marginLeft spacing spacingTop spacingRight spacingBottom spacingLeft".split(" "),propsRequireUpdateSeries:"chart.inverted chart.polar chart.ignoreHiddenSeries chart.type colors plotOptions time tooltip".split(" "),collectionsWithUpdate:"xAxis yAxis zAxis series colorAxis pane".split(" "),update:function(d,f,e,k){var m=this,n={credits:"addCredits",title:"setTitle",subtitle:"setSubtitle"},q,u,y,B,l=[];p(m,"update",{options:d});d.isResponsiveOptions||
369
+ m.setResponsive(!1,!0);d=a.cleanRecursively(d,m.options);g(!0,m.userOptions,d);if(q=d.chart){g(!0,m.options.chart,q);"className"in q&&m.setClassName(q.className);"reflow"in q&&m.setReflow(q.reflow);if("inverted"in q||"polar"in q||"type"in q)m.propFromSeries(),u=!0;"alignTicks"in q&&(u=!0);c(q,function(a,b){-1!==m.propsRequireUpdateSeries.indexOf("chart."+b)&&(y=!0);-1!==m.propsRequireDirtyBox.indexOf(b)&&(m.isDirtyBox=!0);-1!==m.propsRequireReflow.indexOf(b)&&(B=!0)});!m.styledMode&&"style"in q&&
370
+ m.renderer.setStyle(q.style)}!m.styledMode&&d.colors&&(this.options.colors=d.colors);d.plotOptions&&g(!0,this.options.plotOptions,d.plotOptions);d.time&&this.time===a.time&&(this.time=new a.Time(d.time));c(d,function(a,b){if(m[b]&&"function"===typeof m[b].update)m[b].update(a,!1);else if("function"===typeof m[n[b]])m[n[b]](a);"chart"!==b&&-1!==m.propsRequireUpdateSeries.indexOf(b)&&(y=!0)});this.collectionsWithUpdate.forEach(function(a){var c;d[a]&&("series"===a&&(c=[],m[a].forEach(function(a,d){a.options.isInternal||
371
+ c.push(b(a.options.index,d))})),F(d[a]).forEach(function(b,d){(d=r(b.id)&&m.get(b.id)||m[a][c?c[d]:d])&&d.coll===a&&(d.update(b,!1),e&&(d.touched=!0));!d&&e&&m.collectionsWithInit[a]&&(m.collectionsWithInit[a][0].apply(m,[b].concat(m.collectionsWithInit[a][1]||[]).concat([!1])).touched=!0)}),e&&m[a].forEach(function(a){a.touched||a.options.isInternal?delete a.touched:l.push(a)}))});l.forEach(function(a){a.remove&&a.remove(!1)});u&&m.axes.forEach(function(a){a.update({},!1)});y&&m.series.forEach(function(a){a.update({},
372
+ !1)});d.loading&&g(!0,m.options.loading,d.loading);u=q&&q.width;q=q&&q.height;a.isString(q)&&(q=a.relativeLength(q,u||m.chartWidth));B||h(u)&&u!==m.chartWidth||h(q)&&q!==m.chartHeight?m.setSize(u,q,k):b(f,!0)&&m.redraw(k);p(m,"afterUpdate",{options:d,redraw:f,animation:k})},setSubtitle:function(a){this.setTitle(void 0,a)}});l.prototype.collectionsWithInit={xAxis:[l.prototype.addAxis,[!0]],yAxis:[l.prototype.addAxis,[!1]],series:[l.prototype.addSeries]};x(d.prototype,{update:function(a,c,d,f){function g(){m.applyOptions(a);
373
+ null===m.y&&e&&(m.graphic=e.destroy());k(a,!0)&&(e&&e.element&&a&&a.marker&&void 0!==a.marker.symbol&&(m.graphic=e.destroy()),a&&a.dataLabels&&m.dataLabel&&(m.dataLabel=m.dataLabel.destroy()),m.connector&&(m.connector=m.connector.destroy()));h=m.index;n.updateParallelArrays(m,h);y.data[h]=k(y.data[h],!0)||k(a,!0)?m.options:b(a,y.data[h]);n.isDirty=n.isDirtyData=!0;!n.fixedBox&&n.hasCartesianSeries&&(u.isDirtyBox=!0);"point"===y.legendType&&(u.isDirtyLegend=!0);c&&u.redraw(d)}var m=this,n=m.series,
374
+ e=m.graphic,h,u=n.chart,y=n.options;c=b(c,!0);!1===f?g():m.firePointEvent("update",{options:a},g)},remove:function(a,b){this.series.removePoint(this.series.data.indexOf(this),a,b)}});x(f.prototype,{addPoint:function(a,c,d,f,g){var m=this.options,n=this.data,e=this.chart,k=this.xAxis,k=k&&k.hasNames&&k.names,h=m.data,u,y=this.xData,l,B,E;c=b(c,!0);u={series:this};this.pointClass.prototype.applyOptions.apply(u,[a]);E=u.x;B=y.length;if(this.requireSorting&&E<y[B-1])for(l=!0;B&&y[B-1]>E;)B--;this.updateParallelArrays(u,
375
+ "splice",B,0,0);this.updateParallelArrays(u,B);k&&u.name&&(k[E]=u.name);h.splice(B,0,a);l&&(this.data.splice(B,0,null),this.processData());"point"===m.legendType&&this.generatePoints();d&&(n[0]&&n[0].remove?n[0].remove(!1):(n.shift(),this.updateParallelArrays(u,"shift"),h.shift()));!1!==g&&p(this,"addPoint",{point:u});this.isDirtyData=this.isDirty=!0;c&&e.redraw(f)},removePoint:function(a,c,d){var f=this,g=f.data,m=g[a],n=f.points,e=f.chart,k=function(){n&&n.length===g.length&&n.splice(a,1);g.splice(a,
376
+ 1);f.options.data.splice(a,1);f.updateParallelArrays(m||{series:f},"splice",a,1);m&&m.destroy();f.isDirty=!0;f.isDirtyData=!0;c&&e.redraw()};u(d,e);c=b(c,!0);m?m.firePointEvent("remove",null,k):k()},remove:function(a,c,d,f){function g(){m.destroy(f);m.remove=null;n.isDirtyLegend=n.isDirtyBox=!0;n.linkSeries();b(a,!0)&&n.redraw(c)}var m=this,n=m.chart;!1!==d?p(m,"remove",null,g):g()},update:function(c,d){c=a.cleanRecursively(c,this.userOptions);p(this,"update",{options:c});var f=this,m=f.chart,n=f.userOptions,
377
+ e,k=f.initialType||f.type,h=c.type||n.type||m.options.chart.type,u=!(this.hasDerivedData||c.dataGrouping||h&&h!==this.type||void 0!==c.pointStart||c.pointInterval||c.pointIntervalUnit||c.keys),l=y[k].prototype,v,r=["group","markerGroup","dataLabelsGroup","transformGroup"],F=["navigatorSeries","baseSeries"],t=f.finishedAnimating&&{animation:!1},w={};u&&(F.push("data","isDirtyData","points","processedXData","processedYData","xIncrement","_hasPointMarkers","_hasPointLabels","mapMap","mapData","minY",
378
+ "maxY","minX","maxX"),!1!==c.visible&&F.push("area","graph"),f.parallelArrays.forEach(function(a){F.push(a+"Data")}),c.data&&this.setData(c.data,!1));c=g(n,t,{index:void 0===n.index?f.index:n.index,pointStart:b(n.pointStart,f.xData[0])},!u&&{data:f.options.data},c);F=r.concat(F);F.forEach(function(a){F[a]=f[a];delete f[a]});f.remove(!1,null,!1,!0);for(v in l)f[v]=void 0;y[h||k]?x(f,y[h||k].prototype):a.error(17,!0,m);F.forEach(function(a){f[a]=F[a]});f.init(m,c);u&&this.points&&(e=f.options,!1===
379
+ e.visible?(w.graphic=1,w.dataLabel=1):(e.marker&&!1===e.marker.enabled&&!f._hasPointMarkers&&(w.graphic=1),e.dataLabels&&!1===e.dataLabels.enabled&&!f._hasPointLabels&&(w.dataLabel=1)),this.points.forEach(function(a){a&&a.series&&(a.resolveColor(),Object.keys(w).length&&a.destroyElements(w),!1===e.showInLegend&&a.legendItem&&m.legend.destroyItem(a))},this));c.zIndex!==n.zIndex&&r.forEach(function(a){f[a]&&f[a].attr({zIndex:c.zIndex})});f.initialType=k;m.linkSeries();p(this,"afterUpdate");b(d,!0)&&
380
+ m.redraw(u?void 0:!1)},setName:function(a){this.name=this.options.name=this.userOptions.name=a;this.chart.isDirtyLegend=!0}});x(z.prototype,{update:function(a,d){var f=this.chart,m=a&&a.events||{};a=g(this.userOptions,a);f.options[this.coll].indexOf&&(f.options[this.coll][f.options[this.coll].indexOf(this.userOptions)]=a);c(f.options[this.coll].events,function(a,b){"undefined"===typeof m[b]&&(m[b]=void 0)});this.destroy(!0);this.init(f,x(a,{events:m}));f.isDirtyBox=!0;b(d,!0)&&f.redraw()},remove:function(a){for(var c=
381
+ this.chart,d=this.coll,f=this.series,g=f.length;g--;)f[g]&&f[g].remove(!1);w(c.axes,this);w(c[d],this);v(c.options[d])?c.options[d].splice(this.options.index,1):delete c.options[d];c[d].forEach(function(a,b){a.options.index=a.userOptions.index=b});this.destroy();c.isDirtyBox=!0;b(a,!0)&&c.redraw()},setTitle:function(a,b){this.update({title:a},b)},setCategories:function(a,b){this.update({categories:a},b)}})});J(H,"parts/AreaSeries.js",[H["parts/Globals.js"]],function(a){var C=a.color,D=a.pick,z=a.Series,
382
+ l=a.seriesType;l("area","line",{softThreshold:!1,threshold:0},{singleStacks:!1,getStackPoints:function(e){var l=[],r=[],w=this.xAxis,x=this.yAxis,p=x.stacks[this.stackKey],h={},k=this.index,v=x.series,g=v.length,c,b=D(x.options.reversedStacks,!0)?1:-1,d;e=e||this.points;if(this.options.stacking){for(d=0;d<e.length;d++)e[d].leftNull=e[d].rightNull=null,h[e[d].x]=e[d];a.objectEach(p,function(a,b){null!==a.total&&r.push(b)});r.sort(function(a,b){return a-b});c=v.map(function(a){return a.visible});r.forEach(function(a,
383
+ e){var f=0,y,m;if(h[a]&&!h[a].isNull)l.push(h[a]),[-1,1].forEach(function(f){var n=1===f?"rightNull":"leftNull",u=0,l=p[r[e+f]];if(l)for(d=k;0<=d&&d<g;)y=l.points[d],y||(d===k?h[a][n]=!0:c[d]&&(m=p[a].points[d])&&(u-=m[1]-m[0])),d+=b;h[a][1===f?"rightCliff":"leftCliff"]=u});else{for(d=k;0<=d&&d<g;){if(y=p[a].points[d]){f=y[1];break}d+=b}f=x.translate(f,0,1,0,1);l.push({isNull:!0,plotX:w.translate(a,0,0,0,1),x:a,plotY:f,yBottom:f})}})}return l},getGraphPath:function(e){var l=z.prototype.getGraphPath,
384
+ r=this.options,w=r.stacking,x=this.yAxis,p,h,k=[],v=[],g=this.index,c,b=x.stacks[this.stackKey],d=r.threshold,f=x.getThreshold(r.threshold),y,r=a.pick(r.connectNulls,"percent"===w),u=function(a,m,n){var h=e[a];a=w&&b[h.x].points[g];var u=h[n+"Null"]||0;n=h[n+"Cliff"]||0;var y,l,h=!0;n||u?(y=(u?a[0]:a[1])+n,l=a[0]+n,h=!!u):!w&&e[m]&&e[m].isNull&&(y=l=d);void 0!==y&&(v.push({plotX:c,plotY:null===y?f:x.getThreshold(y),isNull:h,isCliff:!0}),k.push({plotX:c,plotY:null===l?f:x.getThreshold(l),doCurve:!1}))};
385
+ e=e||this.points;w&&(e=this.getStackPoints(e));for(p=0;p<e.length;p++)if(h=e[p].isNull,c=D(e[p].rectPlotX,e[p].plotX),y=D(e[p].yBottom,f),!h||r)r||u(p,p-1,"left"),h&&!w&&r||(v.push(e[p]),k.push({x:p,plotX:c,plotY:y})),r||u(p,p+1,"right");p=l.call(this,v,!0,!0);k.reversed=!0;h=l.call(this,k,!0,!0);h.length&&(h[0]="L");h=p.concat(h);l=l.call(this,v,!1,r);h.xMap=p.xMap;this.areaPath=h;return l},drawGraph:function(){this.areaPath=[];z.prototype.drawGraph.apply(this);var a=this,l=this.areaPath,r=this.options,
386
+ w=[["area","highcharts-area",this.color,r.fillColor]];this.zones.forEach(function(e,l){w.push(["zone-area-"+l,"highcharts-area highcharts-zone-area-"+l+" "+e.className,e.color||a.color,e.fillColor||r.fillColor])});w.forEach(function(e){var p=e[0],h=a[p],k=h?"animate":"attr",v={};h?(h.endX=a.preventGraphAnimation?null:l.xMap,h.animate({d:l})):(v.zIndex=0,h=a[p]=a.chart.renderer.path(l).addClass(e[1]).add(a.group),h.isArea=!0);a.chart.styledMode||(v.fill=D(e[3],C(e[2]).setOpacity(D(r.fillOpacity,.75)).get()));
387
+ h[k](v);h.startX=l.xMap;h.shiftUnit=r.step?2:1})},drawLegendSymbol:a.LegendSymbolMixin.drawRectangle})});J(H,"parts/SplineSeries.js",[H["parts/Globals.js"]],function(a){var C=a.pick;a=a.seriesType;a("spline","line",{},{getPointSpline:function(a,z,l){var e=z.plotX,t=z.plotY,r=a[l-1];l=a[l+1];var w,x,p,h;if(r&&!r.isNull&&!1!==r.doCurve&&!z.isCliff&&l&&!l.isNull&&!1!==l.doCurve&&!z.isCliff){a=r.plotY;p=l.plotX;l=l.plotY;var k=0;w=(1.5*e+r.plotX)/2.5;x=(1.5*t+a)/2.5;p=(1.5*e+p)/2.5;h=(1.5*t+l)/2.5;p!==
388
+ w&&(k=(h-x)*(p-e)/(p-w)+t-h);x+=k;h+=k;x>a&&x>t?(x=Math.max(a,t),h=2*t-x):x<a&&x<t&&(x=Math.min(a,t),h=2*t-x);h>l&&h>t?(h=Math.max(l,t),x=2*t-h):h<l&&h<t&&(h=Math.min(l,t),x=2*t-h);z.rightContX=p;z.rightContY=h}z=["C",C(r.rightContX,r.plotX),C(r.rightContY,r.plotY),C(w,e),C(x,t),e,t];r.rightContX=r.rightContY=null;return z}})});J(H,"parts/AreaSplineSeries.js",[H["parts/Globals.js"]],function(a){var C=a.seriesTypes.area.prototype,D=a.seriesType;D("areaspline","spline",a.defaultPlotOptions.area,{getStackPoints:C.getStackPoints,
389
+ getGraphPath:C.getGraphPath,drawGraph:C.drawGraph,drawLegendSymbol:a.LegendSymbolMixin.drawRectangle})});J(H,"parts/ColumnSeries.js",[H["parts/Globals.js"]],function(a){var C=a.animObject,D=a.color,z=a.extend,l=a.defined,e=a.isNumber,t=a.merge,r=a.pick,w=a.Series,x=a.seriesType,p=a.svg;x("column","line",{borderRadius:0,crisp:!0,groupPadding:.2,marker:null,pointPadding:.1,minPointLength:0,cropThreshold:50,pointRange:null,states:{hover:{halo:!1,brightness:.1},select:{color:"#cccccc",borderColor:"#000000"}},
390
+ dataLabels:{align:null,verticalAlign:null,y:null},softThreshold:!1,startFromThreshold:!0,stickyTracking:!1,tooltip:{distance:6},threshold:0,borderColor:"#ffffff"},{cropShoulder:0,directTouch:!0,trackerGroups:["group","dataLabelsGroup"],negStacks:!0,init:function(){w.prototype.init.apply(this,arguments);var a=this,e=a.chart;e.hasRendered&&e.series.forEach(function(e){e.type===a.type&&(e.isDirty=!0)})},getColumnMetrics:function(){var a=this,e=a.options,l=a.xAxis,g=a.yAxis,c=l.options.reversedStacks,
391
+ c=l.reversed&&!c||!l.reversed&&c,b,d={},f=0;!1===e.grouping?f=1:a.chart.series.forEach(function(c){var m=c.options,e=c.yAxis,k;c.type!==a.type||!c.visible&&a.chart.options.chart.ignoreHiddenSeries||g.len!==e.len||g.pos!==e.pos||(m.stacking?(b=c.stackKey,void 0===d[b]&&(d[b]=f++),k=d[b]):!1!==m.grouping&&(k=f++),c.columnIndex=k)});var y=Math.min(Math.abs(l.transA)*(l.ordinalSlope||e.pointRange||l.closestPointRange||l.tickInterval||1),l.len),u=y*e.groupPadding,p=(y-2*u)/(f||1),e=Math.min(e.maxPointWidth||
392
+ l.len,r(e.pointWidth,p*(1-2*e.pointPadding)));a.columnMetrics={width:e,offset:(p-e)/2+(u+((a.columnIndex||0)+(c?1:0))*p-y/2)*(c?-1:1)};return a.columnMetrics},crispCol:function(a,e,l,g){var c=this.chart,b=this.borderWidth,d=-(b%2?.5:0),b=b%2?.5:1;c.inverted&&c.renderer.isVML&&(b+=1);this.options.crisp&&(l=Math.round(a+l)+d,a=Math.round(a)+d,l-=a);g=Math.round(e+g)+b;d=.5>=Math.abs(e)&&.5<g;e=Math.round(e)+b;g-=e;d&&g&&(--e,g+=1);return{x:a,y:e,width:l,height:g}},translate:function(){var a=this,e=
393
+ a.chart,p=a.options,g=a.dense=2>a.closestPointRange*a.xAxis.transA,g=a.borderWidth=r(p.borderWidth,g?0:1),c=a.yAxis,b=p.threshold,d=a.translatedThreshold=c.getThreshold(b),f=r(p.minPointLength,5),y=a.getColumnMetrics(),u=y.width,F=a.barW=Math.max(u,1+2*g),m=a.pointXOffset=y.offset,n=a.dataMin,B=a.dataMax;e.inverted&&(d-=.5);p.pointPadding&&(F=Math.ceil(F));w.prototype.translate.apply(a);a.points.forEach(function(g){var k=r(g.yBottom,d),h=999+Math.abs(k),q=u,h=Math.min(Math.max(-h,g.plotY),c.len+h),
394
+ y=g.plotX+m,p=F,v=Math.min(h,k),E,t=Math.max(h,k)-v;f&&Math.abs(t)<f&&(t=f,E=!c.reversed&&!g.negative||c.reversed&&g.negative,g.y===b&&a.dataMax<=b&&c.min<b&&n!==B&&(E=!E),v=Math.abs(v-d)>f?k-f:d-(E?f:0));l(g.options.pointWidth)&&(q=p=Math.ceil(g.options.pointWidth),y-=Math.round((q-u)/2));g.barX=y;g.pointWidth=q;g.tooltipPos=e.inverted?[c.len+c.pos-e.plotLeft-h,a.xAxis.len-y-p/2,t]:[y+p/2,h+c.pos-e.plotTop,t];g.shapeType=a.pointClass.prototype.shapeType||"rect";g.shapeArgs=a.crispCol.apply(a,g.isNull?
395
+ [y,d,p,0]:[y,v,p,t])})},getSymbol:a.noop,drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,drawGraph:function(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")},pointAttribs:function(a,e){var k=this.options,g,c=this.pointAttrToOptions||{};g=c.stroke||"borderColor";var b=c["stroke-width"]||"borderWidth",d=a&&a.color||this.color,f=a&&a[g]||k[g]||this.color||d,h=a&&a[b]||k[b]||this[b]||0,c=a&&a.dashStyle||k.dashStyle,u=r(k.opacity,1),l;a&&this.zones.length&&(l=a.getZone(),d=
396
+ a.options.color||l&&l.color||this.color,l&&(f=l.borderColor||f,c=l.dashStyle||c,h=l.borderWidth||h));e&&(a=t(k.states[e],a.options.states&&a.options.states[e]||{}),e=a.brightness,d=a.color||void 0!==e&&D(d).brighten(a.brightness).get()||d,f=a[g]||f,h=a[b]||h,c=a.dashStyle||c,u=r(a.opacity,u));g={fill:d,stroke:f,"stroke-width":h,opacity:u};c&&(g.dashstyle=c);return g},drawPoints:function(){var a=this,k=this.chart,l=a.options,g=k.renderer,c=l.animationLimit||250,b;a.points.forEach(function(d){var f=
397
+ d.graphic,h=f&&k.pointCount<c?"animate":"attr";if(e(d.plotY)&&null!==d.y){b=d.shapeArgs;f&&f.element.nodeName!==d.shapeType&&(f=f.destroy());if(f)f[h](t(b));else d.graphic=f=g[d.shapeType](b).add(d.group||a.group);if(l.borderRadius)f[h]({r:l.borderRadius});k.styledMode||f[h](a.pointAttribs(d,d.selected&&"select")).shadow(!1!==d.allowShadow&&l.shadow,null,l.stacking&&!l.borderRadius);f.addClass(d.getClassName(),!0)}else f&&(d.graphic=f.destroy())})},animate:function(a){var e=this,h=this.yAxis,g=e.options,
398
+ c=this.chart.inverted,b={},d=c?"translateX":"translateY",f;p&&(a?(b.scaleY=.001,a=Math.min(h.pos+h.len,Math.max(h.pos,h.toPixels(g.threshold))),c?b.translateX=a-h.len:b.translateY=a,e.clipBox&&e.setClip(),e.group.attr(b)):(f=e.group.attr(d),e.group.animate({scaleY:1},z(C(e.options.animation),{step:function(a,c){b[d]=f+c.pos*(h.pos-f);e.group.attr(b)}})),e.animate=null))},remove:function(){var a=this,e=a.chart;e.hasRendered&&e.series.forEach(function(e){e.type===a.type&&(e.isDirty=!0)});w.prototype.remove.apply(a,
399
+ arguments)}})});J(H,"parts/BarSeries.js",[H["parts/Globals.js"]],function(a){a=a.seriesType;a("bar","column",null,{inverted:!0})});J(H,"parts/ScatterSeries.js",[H["parts/Globals.js"]],function(a){var C=a.Series,D=a.seriesType;D("scatter","line",{lineWidth:0,findNearestPointBy:"xy",jitter:{x:0,y:0},marker:{enabled:!0},tooltip:{headerFormat:'\x3cspan style\x3d"color:{point.color}"\x3e\u25cf\x3c/span\x3e \x3cspan style\x3d"font-size: 10px"\x3e {series.name}\x3c/span\x3e\x3cbr/\x3e',pointFormat:"x: \x3cb\x3e{point.x}\x3c/b\x3e\x3cbr/\x3ey: \x3cb\x3e{point.y}\x3c/b\x3e\x3cbr/\x3e"}},
400
+ {sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"],takeOrdinalPosition:!1,drawGraph:function(){this.options.lineWidth&&C.prototype.drawGraph.call(this)},applyJitter:function(){var a=this,l=this.options.jitter,e=this.points.length;l&&this.points.forEach(function(t,r){["x","y"].forEach(function(w,x){var p,h="plot"+w.toUpperCase(),k,v;l[w]&&!t.isNull&&(p=a[w+"Axis"],v=l[w]*p.transA,p&&!p.isLog&&(k=Math.max(0,t[h]-v),p=Math.min(p.len,t[h]+v),x=1E4*
401
+ Math.sin(r+x*e),t[h]=k+(p-k)*(x-Math.floor(x)),"x"===w&&(t.clientX=t.plotX)))})})}});a.addEvent(C,"afterTranslate",function(){this.applyJitter&&this.applyJitter()})});J(H,"mixins/centered-series.js",[H["parts/Globals.js"]],function(a){var C=a.deg2rad,D=a.isNumber,z=a.pick,l=a.relativeLength;a.CenteredSeriesMixin={getCenter:function(){var a=this.options,t=this.chart,r=2*(a.slicedOffset||0),w=t.plotWidth-2*r,t=t.plotHeight-2*r,x=a.center,x=[z(x[0],"50%"),z(x[1],"50%"),a.size||"100%",a.innerSize||0],
402
+ p=Math.min(w,t),h,k;for(h=0;4>h;++h)k=x[h],a=2>h||2===h&&/%$/.test(k),x[h]=l(k,[w,t,p,x[2]][h])+(a?r:0);x[3]>x[2]&&(x[3]=x[2]);return x},getStartAndEndRadians:function(a,l){a=D(a)?a:0;l=D(l)&&l>a&&360>l-a?l:a+360;return{start:C*(a+-90),end:C*(l+-90)}}}});J(H,"parts/PieSeries.js",[H["parts/Globals.js"]],function(a){var C=a.addEvent,D=a.CenteredSeriesMixin,z=a.defined,l=D.getStartAndEndRadians,e=a.merge,t=a.noop,r=a.pick,w=a.Point,x=a.Series,p=a.seriesType,h=a.setAnimation;p("pie","line",{center:[null,
403
+ null],clip:!1,colorByPoint:!0,dataLabels:{allowOverlap:!0,connectorPadding:5,distance:30,enabled:!0,formatter:function(){return this.point.isNull?void 0:this.point.name},softConnector:!0,x:0,connectorShape:"fixedOffset",crookDistance:"70%"},ignoreHiddenPoint:!0,inactiveOtherPoints:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0},borderColor:"#ffffff",borderWidth:1,states:{hover:{brightness:.1}}},{isCartesian:!1,requireSorting:!1,
404
+ directTouch:!0,noSharedTooltip:!0,trackerGroups:["group","dataLabelsGroup"],axisTypes:[],pointAttribs:a.seriesTypes.column.prototype.pointAttribs,animate:function(a){var e=this,g=e.points,c=e.startAngleRad;a||(g.forEach(function(a){var b=a.graphic,f=a.shapeArgs;b&&(b.attr({r:a.startR||e.center[3]/2,start:c,end:c}),b.animate({r:f.r,start:f.start,end:f.end},e.options.animation))}),e.animate=null)},hasData:function(){return!!this.processedXData.length},updateTotals:function(){var a,e=0,g=this.points,
405
+ c=g.length,b,d=this.options.ignoreHiddenPoint;for(a=0;a<c;a++)b=g[a],e+=d&&!b.visible?0:b.isNull?0:b.y;this.total=e;for(a=0;a<c;a++)b=g[a],b.percentage=0<e&&(b.visible||!d)?b.y/e*100:0,b.total=e},generatePoints:function(){x.prototype.generatePoints.call(this);this.updateTotals()},getX:function(a,e,g){var c=this.center,b=this.radii?this.radii[g.index]:c[2]/2;return c[0]+(e?-1:1)*Math.cos(Math.asin(Math.max(Math.min((a-c[1])/(b+g.labelDistance),1),-1)))*(b+g.labelDistance)+(0<g.labelDistance?(e?-1:
406
+ 1)*this.options.dataLabels.padding:0)},translate:function(e){this.generatePoints();var k=0,g=this.options,c=g.slicedOffset,b=c+(g.borderWidth||0),d,f,h=l(g.startAngle,g.endAngle),u=this.startAngleRad=h.start,h=(this.endAngleRad=h.end)-u,p=this.points,m,n,B=g.dataLabels.distance,g=g.ignoreHiddenPoint,E,G=p.length,A;e||(this.center=e=this.getCenter());for(E=0;E<G;E++){A=p[E];d=u+k*h;if(!g||A.visible)k+=A.percentage/100;f=u+k*h;A.shapeType="arc";A.shapeArgs={x:e[0],y:e[1],r:e[2]/2,innerR:e[3]/2,start:Math.round(1E3*
407
+ d)/1E3,end:Math.round(1E3*f)/1E3};A.labelDistance=r(A.options.dataLabels&&A.options.dataLabels.distance,B);A.labelDistance=a.relativeLength(A.labelDistance,A.shapeArgs.r);this.maxLabelDistance=Math.max(this.maxLabelDistance||0,A.labelDistance);f=(f+d)/2;f>1.5*Math.PI?f-=2*Math.PI:f<-Math.PI/2&&(f+=2*Math.PI);A.slicedTranslation={translateX:Math.round(Math.cos(f)*c),translateY:Math.round(Math.sin(f)*c)};m=Math.cos(f)*e[2]/2;n=Math.sin(f)*e[2]/2;A.tooltipPos=[e[0]+.7*m,e[1]+.7*n];A.half=f<-Math.PI/
408
+ 2||f>Math.PI/2?1:0;A.angle=f;d=Math.min(b,A.labelDistance/5);A.labelPosition={natural:{x:e[0]+m+Math.cos(f)*A.labelDistance,y:e[1]+n+Math.sin(f)*A.labelDistance},"final":{},alignment:0>A.labelDistance?"center":A.half?"right":"left",connectorPosition:{breakAt:{x:e[0]+m+Math.cos(f)*d,y:e[1]+n+Math.sin(f)*d},touchingSliceAt:{x:e[0]+m,y:e[1]+n}}}}},drawGraph:null,redrawPoints:function(){var a=this,h=a.chart,g=h.renderer,c,b,d,f,l=a.options.shadow;!l||a.shadowGroup||h.styledMode||(a.shadowGroup=g.g("shadow").attr({zIndex:-1}).add(a.group));
409
+ a.points.forEach(function(k){var u={};b=k.graphic;if(!k.isNull&&b){f=k.shapeArgs;c=k.getTranslate();if(!h.styledMode){var m=k.shadowGroup;l&&!m&&(m=k.shadowGroup=g.g("shadow").add(a.shadowGroup));m&&m.attr(c);d=a.pointAttribs(k,k.selected&&"select")}k.delayedRendering?(b.setRadialReference(a.center).attr(f).attr(c),h.styledMode||b.attr(d).attr({"stroke-linejoin":"round"}).shadow(l,m),k.delayedRendering=!1):(b.setRadialReference(a.center),h.styledMode||e(!0,u,d),e(!0,u,f,c),b.animate(u));b.attr({visibility:k.visible?
410
+ "inherit":"hidden"});b.addClass(k.getClassName())}else b&&(k.graphic=b.destroy())})},drawPoints:function(){var a=this.chart.renderer;this.points.forEach(function(e){e.graphic||(e.graphic=a[e.shapeType](e.shapeArgs).add(e.series.group),e.delayedRendering=!0)})},searchPoint:t,sortByAngle:function(a,e){a.sort(function(a,c){return void 0!==a.angle&&(c.angle-a.angle)*e})},drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,getCenter:D.getCenter,getSymbol:t},{init:function(){w.prototype.init.apply(this,
411
+ arguments);var a=this,e;a.name=r(a.name,"Slice");e=function(g){a.slice("select"===g.type)};C(a,"select",e);C(a,"unselect",e);return a},isValid:function(){return a.isNumber(this.y,!0)&&0<=this.y},setVisible:function(a,e){var g=this,c=g.series,b=c.chart,d=c.options.ignoreHiddenPoint;e=r(e,d);a!==g.visible&&(g.visible=g.options.visible=a=void 0===a?!g.visible:a,c.options.data[c.data.indexOf(g)]=g.options,["graphic","dataLabel","connector","shadowGroup"].forEach(function(b){if(g[b])g[b][a?"show":"hide"](!0)}),
412
+ g.legendItem&&b.legend.colorizeItem(g,a),a||"hover"!==g.state||g.setState(""),d&&(c.isDirty=!0),e&&b.redraw())},slice:function(a,e,g){var c=this.series;h(g,c.chart);r(e,!0);this.sliced=this.options.sliced=z(a)?a:!this.sliced;c.options.data[c.data.indexOf(this)]=this.options;this.graphic.animate(this.getTranslate());this.shadowGroup&&this.shadowGroup.animate(this.getTranslate())},getTranslate:function(){return this.sliced?this.slicedTranslation:{translateX:0,translateY:0}},haloPath:function(a){var e=
413
+ this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(e.x,e.y,e.r+a,e.r+a,{innerR:this.shapeArgs.r-1,start:e.start,end:e.end})},connectorShapes:{fixedOffset:function(a,e,g){var c=e.breakAt;e=e.touchingSliceAt;return["M",a.x,a.y].concat(g.softConnector?["C",a.x+("left"===a.alignment?-5:5),a.y,2*c.x-e.x,2*c.y-e.y,c.x,c.y]:["L",c.x,c.y]).concat(["L",e.x,e.y])},straight:function(a,e){e=e.touchingSliceAt;return["M",a.x,a.y,"L",e.x,e.y]},crookedLine:function(e,h,g){h=
414
+ h.touchingSliceAt;var c=this.series,b=c.center[0],d=c.chart.plotWidth,f=c.chart.plotLeft,c=e.alignment,k=this.shapeArgs.r;g=a.relativeLength(g.crookDistance,1);g="left"===c?b+k+(d+f-b-k)*(1-g):f+(b-k)*g;b=["L",g,e.y];if("left"===c?g>e.x||g<h.x:g<e.x||g>h.x)b=[];return["M",e.x,e.y].concat(b).concat(["L",h.x,h.y])}},getConnectorPath:function(){var a=this.labelPosition,e=this.series.options.dataLabels,g=e.connectorShape,c=this.connectorShapes;c[g]&&(g=c[g]);return g.call(this,{x:a.final.x,y:a.final.y,
415
+ alignment:a.alignment},a.connectorPosition,e)}})});J(H,"parts/DataLabels.js",[H["parts/Globals.js"]],function(a){var C=a.arrayMax,D=a.defined,z=a.extend,l=a.format,e=a.merge,t=a.noop,r=a.pick,w=a.relativeLength,x=a.Series,p=a.seriesTypes,h=a.stableSort,k=a.isArray,v=a.splat;a.distribute=function(g,c,b){function d(a,b){return a.target-b.target}var f,e=!0,u=g,k=[],m;m=0;var n=u.reducedLen||c;for(f=g.length;f--;)m+=g[f].size;if(m>n){h(g,function(a,b){return(b.rank||0)-(a.rank||0)});for(m=f=0;m<=n;)m+=
416
+ g[f].size,f++;k=g.splice(f-1,g.length)}h(g,d);for(g=g.map(function(a){return{size:a.size,targets:[a.target],align:r(a.align,.5)}});e;){for(f=g.length;f--;)e=g[f],m=(Math.min.apply(0,e.targets)+Math.max.apply(0,e.targets))/2,e.pos=Math.min(Math.max(0,m-e.size*e.align),c-e.size);f=g.length;for(e=!1;f--;)0<f&&g[f-1].pos+g[f-1].size>g[f].pos&&(g[f-1].size+=g[f].size,g[f-1].targets=g[f-1].targets.concat(g[f].targets),g[f-1].align=.5,g[f-1].pos+g[f-1].size>c&&(g[f-1].pos=c-g[f-1].size),g.splice(f,1),e=
417
+ !0)}u.push.apply(u,k);f=0;g.some(function(d){var g=0;if(d.targets.some(function(){u[f].pos=d.pos+g;if(Math.abs(u[f].pos-u[f].target)>b)return u.slice(0,f+1).forEach(function(a){delete a.pos}),u.reducedLen=(u.reducedLen||c)-.1*c,u.reducedLen>.1*c&&a.distribute(u,c,b),!0;g+=u[f].size;f++}))return!0});h(u,d)};x.prototype.drawDataLabels=function(){function g(a,b){var c=b.filter;return c?(b=c.operator,a=a[c.property],c=c.value,"\x3e"===b&&a>c||"\x3c"===b&&a<c||"\x3e\x3d"===b&&a>=c||"\x3c\x3d"===b&&a<=
418
+ c||"\x3d\x3d"===b&&a==c||"\x3d\x3d\x3d"===b&&a===c?!0:!1):!0}function c(a,b){var c=[],d;if(k(a)&&!k(b))c=a.map(function(a){return e(a,b)});else if(k(b)&&!k(a))c=b.map(function(b){return e(a,b)});else if(k(a)||k(b))for(d=Math.max(a.length,b.length);d--;)c[d]=e(a[d],b[d]);else c=e(a,b);return c}var b=this,d=b.chart,f=b.options,h=f.dataLabels,u=b.points,p,m=b.hasRendered||0,n,B=a.animObject(f.animation).duration,E=Math.min(B,200),G=!d.renderer.forExport&&r(h.defer,0<E),A=d.renderer,h=c(c(d.options.plotOptions&&
419
+ d.options.plotOptions.series&&d.options.plotOptions.series.dataLabels,d.options.plotOptions&&d.options.plotOptions[b.type]&&d.options.plotOptions[b.type].dataLabels),h);a.fireEvent(this,"drawDataLabels");if(k(h)||h.enabled||b._hasPointLabels)n=b.plotGroup("dataLabelsGroup","data-labels",G&&!m?"hidden":"inherit",h.zIndex||6),G&&(n.attr({opacity:+m}),m||setTimeout(function(){var a=b.dataLabelsGroup;a&&(b.visible&&n.show(!0),a[f.animation?"animate":"attr"]({opacity:1},{duration:E}))},B-E)),u.forEach(function(m){p=
420
+ v(c(h,m.dlOptions||m.options&&m.options.dataLabels));p.forEach(function(c,e){var h=c.enabled&&(!m.isNull||m.dataLabelOnNull)&&g(m,c),u,k,q,p,y=m.dataLabels?m.dataLabels[e]:m.dataLabel,B=m.connectors?m.connectors[e]:m.connector,E=!y;h&&(u=m.getLabelConfig(),k=r(c[m.formatPrefix+"Format"],c.format),u=D(k)?l(k,u,d.time):(c[m.formatPrefix+"Formatter"]||c.formatter).call(u,c),k=c.style,q=c.rotation,d.styledMode||(k.color=r(c.color,k.color,b.color,"#000000"),"contrast"===k.color&&(m.contrastColor=A.getContrast(m.color||
421
+ b.color),k.color=c.inside||0>r(c.distance,m.labelDistance)||f.stacking?m.contrastColor:"#000000"),f.cursor&&(k.cursor=f.cursor)),p={r:c.borderRadius||0,rotation:q,padding:c.padding,zIndex:1},d.styledMode||(p.fill=c.backgroundColor,p.stroke=c.borderColor,p["stroke-width"]=c.borderWidth),a.objectEach(p,function(a,b){void 0===a&&delete p[b]}));!y||h&&D(u)?h&&D(u)&&(y?p.text=u:(m.dataLabels=m.dataLabels||[],y=m.dataLabels[e]=q?A.text(u,0,-9999).addClass("highcharts-data-label"):A.label(u,0,-9999,c.shape,
422
+ null,null,c.useHTML,null,"data-label"),e||(m.dataLabel=y),y.addClass(" highcharts-data-label-color-"+m.colorIndex+" "+(c.className||"")+(c.useHTML?" highcharts-tracker":""))),y.options=c,y.attr(p),d.styledMode||y.css(k).shadow(c.shadow),y.added||y.add(n),c.textPath&&!c.useHTML&&y.setTextPath(m.getDataLabelPath&&m.getDataLabelPath(y)||m.graphic,c.textPath),b.alignDataLabel(m,y,c,null,E)):(m.dataLabel=m.dataLabel&&m.dataLabel.destroy(),m.dataLabels&&(1===m.dataLabels.length?delete m.dataLabels:delete m.dataLabels[e]),
423
+ e||delete m.dataLabel,B&&(m.connector=m.connector.destroy(),m.connectors&&(1===m.connectors.length?delete m.connectors:delete m.connectors[e])))})});a.fireEvent(this,"afterDrawDataLabels")};x.prototype.alignDataLabel=function(a,c,b,d,f){var g=this.chart,e=this.isCartesian&&g.inverted,h=r(a.dlBox&&a.dlBox.centerX,a.plotX,-9999),m=r(a.plotY,-9999),n=c.getBBox(),k,l=b.rotation,p=b.align,A=this.visible&&(a.series.forceDL||g.isInsidePlot(h,Math.round(m),e)||d&&g.isInsidePlot(h,e?d.x+1:d.y+d.height-1,e)),
424
+ q="justify"===r(b.overflow,"justify");if(A&&(k=g.renderer.fontMetrics(g.styledMode?void 0:b.style.fontSize,c).b,d=z({x:e?this.yAxis.len-m:h,y:Math.round(e?this.xAxis.len-h:m),width:0,height:0},d),z(b,{width:n.width,height:n.height}),l?(q=!1,h=g.renderer.rotCorr(k,l),h={x:d.x+b.x+d.width/2+h.x,y:d.y+b.y+{top:0,middle:.5,bottom:1}[b.verticalAlign]*d.height},c[f?"attr":"animate"](h).attr({align:p}),m=(l+720)%360,m=180<m&&360>m,"left"===p?h.y-=m?n.height:0:"center"===p?(h.x-=n.width/2,h.y-=n.height/2):
425
+ "right"===p&&(h.x-=n.width,h.y-=m?0:n.height),c.placed=!0,c.alignAttr=h):(c.align(b,null,d),h=c.alignAttr),q&&0<=d.height?a.isLabelJustified=this.justifyDataLabel(c,b,h,n,d,f):r(b.crop,!0)&&(A=g.isInsidePlot(h.x,h.y)&&g.isInsidePlot(h.x+n.width,h.y+n.height)),b.shape&&!l))c[f?"attr":"animate"]({anchorX:e?g.plotWidth-a.plotY:a.plotX,anchorY:e?g.plotHeight-a.plotX:a.plotY});A||(c.attr({y:-9999}),c.placed=!1)};x.prototype.justifyDataLabel=function(a,c,b,d,f,e){var g=this.chart,h=c.align,m=c.verticalAlign,
426
+ n,k,l=a.box?0:a.padding||0;n=b.x+l;0>n&&("right"===h?c.align="left":c.x=-n,k=!0);n=b.x+d.width-l;n>g.plotWidth&&("left"===h?c.align="right":c.x=g.plotWidth-n,k=!0);n=b.y+l;0>n&&("bottom"===m?c.verticalAlign="top":c.y=-n,k=!0);n=b.y+d.height-l;n>g.plotHeight&&("top"===m?c.verticalAlign="bottom":c.y=g.plotHeight-n,k=!0);k&&(a.placed=!e,a.align(c,null,f));return k};p.pie&&(p.pie.prototype.dataLabelPositioners={radialDistributionY:function(a){return a.top+a.distributeBox.pos},radialDistributionX:function(a,
427
+ c,b,d){return a.getX(b<c.top+2||b>c.bottom-2?d:b,c.half,c)},justify:function(a,c,b){return b[0]+(a.half?-1:1)*(c+a.labelDistance)},alignToPlotEdges:function(a,c,b,d){a=a.getBBox().width;return c?a+d:b-a-d},alignToConnectors:function(a,c,b,d){var f=0,g;a.forEach(function(a){g=a.dataLabel.getBBox().width;g>f&&(f=g)});return c?f+d:b-f-d}},p.pie.prototype.drawDataLabels=function(){var g=this,c=g.data,b,d=g.chart,f=g.options.dataLabels,h=f.connectorPadding,k,l=d.plotWidth,m=d.plotHeight,n=d.plotLeft,p=
428
+ Math.round(d.chartWidth/3),E,G=g.center,A=G[2]/2,q=G[1],t,v,w,z,R=[[],[]],N,K,H,J,M=[0,0,0,0],T=g.dataLabelPositioners,da;g.visible&&(f.enabled||g._hasPointLabels)&&(c.forEach(function(a){a.dataLabel&&a.visible&&a.dataLabel.shortened&&(a.dataLabel.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),a.dataLabel.shortened=!1)}),x.prototype.drawDataLabels.apply(g),c.forEach(function(a){a.dataLabel&&(a.visible?(R[a.half].push(a),a.dataLabel._pos=null,!D(f.style.width)&&!D(a.options.dataLabels&&
429
+ a.options.dataLabels.style&&a.options.dataLabels.style.width)&&a.dataLabel.getBBox().width>p&&(a.dataLabel.css({width:.7*p}),a.dataLabel.shortened=!0)):(a.dataLabel=a.dataLabel.destroy(),a.dataLabels&&1===a.dataLabels.length&&delete a.dataLabels))}),R.forEach(function(c,e){var k,u,p=c.length,y=[],B;if(p)for(g.sortByAngle(c,e-.5),0<g.maxLabelDistance&&(k=Math.max(0,q-A-g.maxLabelDistance),u=Math.min(q+A+g.maxLabelDistance,d.plotHeight),c.forEach(function(a){0<a.labelDistance&&a.dataLabel&&(a.top=Math.max(0,
430
+ q-A-a.labelDistance),a.bottom=Math.min(q+A+a.labelDistance,d.plotHeight),B=a.dataLabel.getBBox().height||21,a.distributeBox={target:a.labelPosition.natural.y-a.top+B/2,size:B,rank:a.y},y.push(a.distributeBox))}),k=u+B-k,a.distribute(y,k,k/5)),J=0;J<p;J++){b=c[J];w=b.labelPosition;t=b.dataLabel;H=!1===b.visible?"hidden":"inherit";K=k=w.natural.y;y&&D(b.distributeBox)&&(void 0===b.distributeBox.pos?H="hidden":(z=b.distributeBox.size,K=T.radialDistributionY(b)));delete b.positionIndex;if(f.justify)N=
431
+ T.justify(b,A,G);else switch(f.alignTo){case "connectors":N=T.alignToConnectors(c,e,l,n);break;case "plotEdges":N=T.alignToPlotEdges(t,e,l,n);break;default:N=T.radialDistributionX(g,b,K,k)}t._attr={visibility:H,align:w.alignment};t._pos={x:N+f.x+({left:h,right:-h}[w.alignment]||0),y:K+f.y-10};w.final.x=N;w.final.y=K;r(f.crop,!0)&&(v=t.getBBox().width,k=null,N-v<h&&1===e?(k=Math.round(v-N+h),M[3]=Math.max(k,M[3])):N+v>l-h&&0===e&&(k=Math.round(N+v-l+h),M[1]=Math.max(k,M[1])),0>K-z/2?M[0]=Math.max(Math.round(-K+
432
+ z/2),M[0]):K+z/2>m&&(M[2]=Math.max(Math.round(K+z/2-m),M[2])),t.sideOverflow=k)}}),0===C(M)||this.verifyDataLabelOverflow(M))&&(this.placeDataLabels(),this.points.forEach(function(a){da=e(f,a.options.dataLabels);if(k=r(da.connectorWidth,1)){var b;E=a.connector;if((t=a.dataLabel)&&t._pos&&a.visible&&0<a.labelDistance){H=t._attr.visibility;if(b=!E)a.connector=E=d.renderer.path().addClass("highcharts-data-label-connector highcharts-color-"+a.colorIndex+(a.className?" "+a.className:"")).add(g.dataLabelsGroup),
433
+ d.styledMode||E.attr({"stroke-width":k,stroke:da.connectorColor||a.color||"#666666"});E[b?"attr":"animate"]({d:a.getConnectorPath()});E.attr("visibility",H)}else E&&(a.connector=E.destroy())}}))},p.pie.prototype.placeDataLabels=function(){this.points.forEach(function(a){var c=a.dataLabel,b;c&&a.visible&&((b=c._pos)?(c.sideOverflow&&(c._attr.width=Math.max(c.getBBox().width-c.sideOverflow,0),c.css({width:c._attr.width+"px",textOverflow:(this.options.dataLabels.style||{}).textOverflow||"ellipsis"}),
434
+ c.shortened=!0),c.attr(c._attr),c[c.moved?"animate":"attr"](b),c.moved=!0):c&&c.attr({y:-9999}));delete a.distributeBox},this)},p.pie.prototype.alignDataLabel=t,p.pie.prototype.verifyDataLabelOverflow=function(a){var c=this.center,b=this.options,d=b.center,f=b.minSize||80,g,e=null!==b.size;e||(null!==d[0]?g=Math.max(c[2]-Math.max(a[1],a[3]),f):(g=Math.max(c[2]-a[1]-a[3],f),c[0]+=(a[3]-a[1])/2),null!==d[1]?g=Math.max(Math.min(g,c[2]-Math.max(a[0],a[2])),f):(g=Math.max(Math.min(g,c[2]-a[0]-a[2]),f),
435
+ c[1]+=(a[0]-a[2])/2),g<c[2]?(c[2]=g,c[3]=Math.min(w(b.innerSize||0,g),g),this.translate(c),this.drawDataLabels&&this.drawDataLabels()):e=!0);return e});p.column&&(p.column.prototype.alignDataLabel=function(a,c,b,d,f){var g=this.chart.inverted,h=a.series,k=a.dlBox||a.shapeArgs,m=r(a.below,a.plotY>r(this.translatedThreshold,h.yAxis.len)),n=r(b.inside,!!this.options.stacking);k&&(d=e(k),0>d.y&&(d.height+=d.y,d.y=0),k=d.y+d.height-h.yAxis.len,0<k&&(d.height-=k),g&&(d={x:h.yAxis.len-d.y-d.height,y:h.xAxis.len-
436
+ d.x-d.width,width:d.height,height:d.width}),n||(g?(d.x+=m?0:d.width,d.width=0):(d.y+=m?d.height:0,d.height=0)));b.align=r(b.align,!g||n?"center":m?"right":"left");b.verticalAlign=r(b.verticalAlign,g||n?"middle":m?"top":"bottom");x.prototype.alignDataLabel.call(this,a,c,b,d,f);a.isLabelJustified&&a.contrastColor&&c.css({color:a.contrastColor})})});J(H,"modules/overlapping-datalabels.src.js",[H["parts/Globals.js"]],function(a){var C=a.Chart,D=a.isArray,z=a.objectEach,l=a.pick,e=a.addEvent,t=a.fireEvent;
437
+ e(C,"render",function(){var a=[];(this.labelCollectors||[]).forEach(function(e){a=a.concat(e())});(this.yAxis||[]).forEach(function(e){e.options.stackLabels&&!e.options.stackLabels.allowOverlap&&z(e.stacks,function(e){z(e,function(e){a.push(e.label)})})});(this.series||[]).forEach(function(e){var r=e.options.dataLabels;e.visible&&(!1!==r.enabled||e._hasPointLabels)&&e.points.forEach(function(e){e.visible&&(D(e.dataLabels)?e.dataLabels:e.dataLabel?[e.dataLabel]:[]).forEach(function(h){var k=h.options;
438
+ h.labelrank=l(k.labelrank,e.labelrank,e.shapeArgs&&e.shapeArgs.height);k.allowOverlap||a.push(h)})})});this.hideOverlappingLabels(a)});C.prototype.hideOverlappingLabels=function(a){var e=this,l=a.length,p=e.renderer,h,k,r,g,c,b,d=function(a,b,c,d,g,e,h,k){return!(g>a+c||g+h<a||e>b+d||e+k<b)};r=function(a){var b,c,d,f=a.box?0:a.padding||0;d=0;if(a&&(!a.alignAttr||a.placed))return b=a.alignAttr||{x:a.attr("x"),y:a.attr("y")},c=a.parentGroup,a.width||(d=a.getBBox(),a.width=d.width,a.height=d.height,
439
+ d=p.fontMetrics(null,a.element).h),{x:b.x+(c.translateX||0)+f,y:b.y+(c.translateY||0)+f-d,width:a.width-2*f,height:a.height-2*f}};for(k=0;k<l;k++)if(h=a[k])h.oldOpacity=h.opacity,h.newOpacity=1,h.absoluteBox=r(h);a.sort(function(a,b){return(b.labelrank||0)-(a.labelrank||0)});for(k=0;k<l;k++)for(b=(r=a[k])&&r.absoluteBox,h=k+1;h<l;++h)if(c=(g=a[h])&&g.absoluteBox,b&&c&&r!==g&&0!==r.newOpacity&&0!==g.newOpacity&&(c=d(b.x,b.y,b.width,b.height,c.x,c.y,c.width,c.height)))(r.labelrank<g.labelrank?r:g).newOpacity=
440
+ 0;a.forEach(function(a){var b,c;a&&(c=a.newOpacity,a.oldOpacity!==c&&(a.alignAttr&&a.placed?(c?a.show(!0):b=function(){a.hide()},a.alignAttr.opacity=c,a[a.isOld?"animate":"attr"](a.alignAttr,null,b),t(e,"afterHideOverlappingLabels")):a.attr({opacity:c})),a.isOld=!0)})}});J(H,"parts/Interaction.js",[H["parts/Globals.js"]],function(a){var C=a.addEvent,D=a.Chart,z=a.createElement,l=a.css,e=a.defaultOptions,t=a.defaultPlotOptions,r=a.extend,w=a.fireEvent,x=a.hasTouch,p=a.isObject,h=a.isArray,k=a.Legend,
441
+ v=a.merge,g=a.pick,c=a.Point,b=a.Series,d=a.seriesTypes,f=a.svg,y;y=a.TrackerMixin={drawTrackerPoint:function(){var a=this,b=a.chart,c=b.pointer,d=function(a){var b=c.getPointFromEvent(a);void 0!==b&&(c.isDirectTouch=!0,b.onMouseOver(a))},f;a.points.forEach(function(a){f=h(a.dataLabels)?a.dataLabels:a.dataLabel?[a.dataLabel]:[];a.graphic&&(a.graphic.element.point=a);f.forEach(function(b){b.div?b.div.point=a:b.element.point=a})});a._hasTracking||(a.trackerGroups.forEach(function(f){if(a[f]){a[f].addClass("highcharts-tracker").on("mouseover",
442
+ d).on("mouseout",function(a){c.onTrackerMouseOut(a)});if(x)a[f].on("touchstart",d);!b.styledMode&&a.options.cursor&&a[f].css(l).css({cursor:a.options.cursor})}}),a._hasTracking=!0);w(this,"afterDrawTracker")},drawTrackerGraph:function(){var a=this,b=a.options,c=b.trackByArea,d=[].concat(c?a.areaPath:a.graphPath),g=d.length,e=a.chart,h=e.pointer,k=e.renderer,q=e.options.tooltip.snap,l=a.tracker,p,y=function(){if(e.hoverSeries!==a)a.onMouseOver()},r="rgba(192,192,192,"+(f?.0001:.002)+")";if(g&&!c)for(p=
443
+ g+1;p--;)"M"===d[p]&&d.splice(p+1,0,d[p+1]-q,d[p+2],"L"),(p&&"M"===d[p]||p===g)&&d.splice(p,0,"L",d[p-2]+q,d[p-1]);l?l.attr({d:d}):a.graph&&(a.tracker=k.path(d).attr({visibility:a.visible?"visible":"hidden",zIndex:2}).addClass(c?"highcharts-tracker-area":"highcharts-tracker-line").add(a.group),e.styledMode||a.tracker.attr({"stroke-linejoin":"round",stroke:r,fill:c?r:"none","stroke-width":a.graph.strokeWidth()+(c?0:2*q)}),[a.tracker,a.markerGroup].forEach(function(a){a.addClass("highcharts-tracker").on("mouseover",
444
+ y).on("mouseout",function(a){h.onTrackerMouseOut(a)});b.cursor&&!e.styledMode&&a.css({cursor:b.cursor});if(x)a.on("touchstart",y)}));w(this,"afterDrawTracker")}};d.column&&(d.column.prototype.drawTracker=y.drawTrackerPoint);d.pie&&(d.pie.prototype.drawTracker=y.drawTrackerPoint);d.scatter&&(d.scatter.prototype.drawTracker=y.drawTrackerPoint);r(k.prototype,{setItemEvents:function(a,b,d){var f=this,g=f.chart.renderer.boxWrapper,e=a instanceof c,m="highcharts-legend-"+(e?"point":"series")+"-active",
445
+ h=f.chart.styledMode;(d?b:a.legendGroup).on("mouseover",function(){f.allItems.forEach(function(b){a!==b&&b.setState("inactive",!e)});a.setState("hover");a.visible&&g.addClass(m);h||b.css(f.options.itemHoverStyle)}).on("mouseout",function(){f.styledMode||b.css(v(a.visible?f.itemStyle:f.itemHiddenStyle));f.allItems.forEach(function(b){a!==b&&b.setState("",!e)});g.removeClass(m);a.setState()}).on("click",function(b){var c=function(){a.setVisible&&a.setVisible()};g.removeClass(m);b={browserEvent:b};a.firePointEvent?
446
+ a.firePointEvent("legendItemClick",b,c):w(a,"legendItemClick",b,c)})},createCheckboxForItem:function(a){a.checkbox=z("input",{type:"checkbox",className:"highcharts-legend-checkbox",checked:a.selected,defaultChecked:a.selected},this.options.itemCheckboxStyle,this.chart.container);C(a.checkbox,"click",function(b){w(a.series||a,"checkboxClick",{checked:b.target.checked,item:a},function(){a.select()})})}});r(D.prototype,{showResetZoom:function(){function a(){b.zoomOut()}var b=this,c=e.lang,d=b.options.chart.resetZoomButton,
447
+ f=d.theme,g=f.states,h="chart"===d.relativeTo||"spaceBox"===d.relativeTo?null:"plotBox";w(this,"beforeShowResetZoom",null,function(){b.resetZoomButton=b.renderer.button(c.resetZoom,null,null,a,f,g&&g.hover).attr({align:d.position.align,title:c.resetZoomTitle}).addClass("highcharts-reset-zoom").add().align(d.position,!1,h)});w(this,"afterShowResetZoom")},zoomOut:function(){w(this,"selection",{resetSelection:!0},this.zoom)},zoom:function(b){var c=this,d,f=c.pointer,e=!1,h=c.inverted?f.mouseDownX:f.mouseDownY,
448
+ k;!b||b.resetSelection?(c.axes.forEach(function(a){d=a.zoom()}),f.initiated=!1):b.xAxis.concat(b.yAxis).forEach(function(b){var g=b.axis,m=c.inverted?g.left:g.top,n=c.inverted?m+g.width:m+g.height,k=g.isXAxis,u=!1;if(!k&&h>=m&&h<=n||k||!a.defined(h))u=!0;f[k?"zoomX":"zoomY"]&&u&&(d=g.zoom(b.min,b.max),g.displayBtn&&(e=!0))});k=c.resetZoomButton;e&&!k?c.showResetZoom():!e&&p(k)&&(c.resetZoomButton=k.destroy());d&&c.redraw(g(c.options.chart.animation,b&&b.animation,100>c.pointCount))},pan:function(a,
449
+ b){var c=this,d=c.hoverPoints,f;w(this,"pan",{originalEvent:a},function(){d&&d.forEach(function(a){a.setState()});("xy"===b?[1,0]:[1]).forEach(function(b){b=c[b?"xAxis":"yAxis"][0];var d=b.horiz,g=a[d?"chartX":"chartY"],d=d?"mouseDownX":"mouseDownY",e=c[d],m=(b.pointRange||0)/2,n=b.reversed&&!c.inverted||!b.reversed&&c.inverted?-1:1,h=b.getExtremes(),k=b.toValue(e-g,!0)+m*n,n=b.toValue(e+b.len-g,!0)-m*n,u=n<k,e=u?n:k,k=u?k:n,n=Math.min(h.dataMin,m?h.min:b.toValue(b.toPixels(h.min)-b.minPixelPadding)),
450
+ m=Math.max(h.dataMax,m?h.max:b.toValue(b.toPixels(h.max)+b.minPixelPadding)),u=n-e;0<u&&(k+=u,e=n);u=k-m;0<u&&(k=m,e-=u);b.series.length&&e!==h.min&&k!==h.max&&(b.setExtremes(e,k,!1,!1,{trigger:"pan"}),f=!0);c[d]=g});f&&c.redraw(!1);l(c.container,{cursor:"move"})})}});r(c.prototype,{select:function(a,b){var c=this,d=c.series,f=d.chart;a=g(a,!c.selected);c.firePointEvent(a?"select":"unselect",{accumulate:b},function(){c.selected=c.options.selected=a;d.options.data[d.data.indexOf(c)]=c.options;c.setState(a&&
451
+ "select");b||f.getSelectedPoints().forEach(function(a){var b=a.series;a.selected&&a!==c&&(a.selected=a.options.selected=!1,b.options.data[b.data.indexOf(a)]=a.options,a.setState(f.hoverPoints&&b.options.inactiveOtherPoints?"inactive":""),a.firePointEvent("unselect"))})})},onMouseOver:function(a){var b=this.series.chart,c=b.pointer;a=a?c.normalize(a):c.getChartCoordinatesFromPoint(this,b.inverted);c.runPointActions(a,this)},onMouseOut:function(){var a=this.series.chart;this.firePointEvent("mouseOut");
452
+ this.series.options.inactiveOtherPoints||(a.hoverPoints||[]).forEach(function(a){a.setState()});a.hoverPoints=a.hoverPoint=null},importEvents:function(){if(!this.hasImportedEvents){var b=this,c=v(b.series.options.point,b.options).events;b.events=c;a.objectEach(c,function(c,d){a.isFunction(c)&&C(b,d,c)});this.hasImportedEvents=!0}},setState:function(a,b){var c=Math.floor(this.plotX),d=this.plotY,f=this.series,e=this.state,h=f.options.states[a||"normal"]||{},k=t[f.type].marker&&f.options.marker,q=k&&
453
+ !1===k.enabled,u=k&&k.states&&k.states[a||"normal"]||{},l=!1===u.enabled,p=f.stateMarkerGraphic,y=this.marker||{},x=f.chart,v=f.halo,F,z,C,D=k&&f.markerAttribs;a=a||"";if(!(a===this.state&&!b||this.selected&&"select"!==a||!1===h.enabled||a&&(l||q&&!1===u.enabled)||a&&y.states&&y.states[a]&&!1===y.states[a].enabled)){this.state=a;D&&(F=f.markerAttribs(this,a));if(this.graphic)e&&this.graphic.removeClass("highcharts-point-"+e),a&&this.graphic.addClass("highcharts-point-"+a),x.styledMode||(z=f.pointAttribs(this,
454
+ a),C=g(x.options.chart.animation,h.animation),f.options.inactiveOtherPoints&&((this.dataLabels||[]).forEach(function(a){a&&a.animate({opacity:z.opacity},C)}),this.connector&&this.connector.animate({opacity:z.opacity},C)),this.graphic.animate(z,C)),F&&this.graphic.animate(F,g(x.options.chart.animation,u.animation,k.animation)),p&&p.hide();else{if(a&&u){e=y.symbol||f.symbol;p&&p.currentSymbol!==e&&(p=p.destroy());if(p)p[b?"animate":"attr"]({x:F.x,y:F.y});else e&&(f.stateMarkerGraphic=p=x.renderer.symbol(e,
455
+ F.x,F.y,F.width,F.height).add(f.markerGroup),p.currentSymbol=e);!x.styledMode&&p&&p.attr(f.pointAttribs(this,a))}p&&(p[a&&x.isInsidePlot(c,d,x.inverted)?"show":"hide"](),p.element.point=this)}(a=h.halo)&&a.size?(v||(f.halo=v=x.renderer.path().add((this.graphic||p).parentGroup)),v.show()[b?"animate":"attr"]({d:this.haloPath(a.size)}),v.attr({"class":"highcharts-halo highcharts-color-"+g(this.colorIndex,f.colorIndex)+(this.className?" "+this.className:""),zIndex:-1}),v.point=this,x.styledMode||v.attr(r({fill:this.color||
456
+ f.color,"fill-opacity":a.opacity},a.attributes))):v&&v.point&&v.point.haloPath&&v.animate({d:v.point.haloPath(0)},null,v.hide);w(this,"afterSetState")}},haloPath:function(a){return this.series.chart.renderer.symbols.circle(Math.floor(this.plotX)-a,this.plotY-a,2*a,2*a)}});r(b.prototype,{onMouseOver:function(){var a=this.chart,b=a.hoverSeries;if(b&&b!==this)b.onMouseOut();this.options.events.mouseOver&&w(this,"mouseOver");this.setState("hover");a.hoverSeries=this},onMouseOut:function(){var a=this.options,
457
+ b=this.chart,c=b.tooltip,d=b.hoverPoint;b.hoverSeries=null;if(d)d.onMouseOut();this&&a.events.mouseOut&&w(this,"mouseOut");!c||this.stickyTracking||c.shared&&!this.noSharedTooltip||c.hide();b.series.forEach(function(a){a.setState("",!0)})},setState:function(a,b){var c=this,d=c.options,f=c.graph,e=d.inactiveOtherPoints,h=d.states,k=d.lineWidth,q=d.opacity,u=g(h[a||"normal"]&&h[a||"normal"].animation,c.chart.options.chart.animation),d=0;a=a||"";if(c.state!==a&&([c.group,c.markerGroup,c.dataLabelsGroup].forEach(function(b){b&&
458
+ (c.state&&b.removeClass("highcharts-series-"+c.state),a&&b.addClass("highcharts-series-"+a))}),c.state=a,!c.chart.styledMode)){if(h[a]&&!1===h[a].enabled)return;a&&(k=h[a].lineWidth||k+(h[a].lineWidthPlus||0),q=g(h[a].opacity,q));if(f&&!f.dashstyle)for(h={"stroke-width":k},f.animate(h,u);c["zone-graph-"+d];)c["zone-graph-"+d].attr(h),d+=1;e||[c.group,c.markerGroup,c.dataLabelsGroup,c.labelBySeries].forEach(function(a){a&&a.animate({opacity:q},u)})}b&&e&&c.points&&c.points.forEach(function(b){b.setState&&
459
+ b.setState(a)})},setVisible:function(a,b){var c=this,d=c.chart,f=c.legendItem,g,e=d.options.chart.ignoreHiddenSeries,h=c.visible;g=(c.visible=a=c.options.visible=c.userOptions.visible=void 0===a?!h:a)?"show":"hide";["group","dataLabelsGroup","markerGroup","tracker","tt"].forEach(function(a){if(c[a])c[a][g]()});if(d.hoverSeries===c||(d.hoverPoint&&d.hoverPoint.series)===c)c.onMouseOut();f&&d.legend.colorizeItem(c,a);c.isDirty=!0;c.options.stacking&&d.series.forEach(function(a){a.options.stacking&&
460
+ a.visible&&(a.isDirty=!0)});c.linkedSeries.forEach(function(b){b.setVisible(a,!1)});e&&(d.isDirtyBox=!0);w(c,g);!1!==b&&d.redraw()},show:function(){this.setVisible(!0)},hide:function(){this.setVisible(!1)},select:function(a){this.selected=a=this.options.selected=void 0===a?!this.selected:a;this.checkbox&&(this.checkbox.checked=a);w(this,a?"select":"unselect")},drawTracker:y.drawTrackerGraph})});J(H,"parts/Responsive.js",[H["parts/Globals.js"]],function(a){var C=a.Chart,D=a.isArray,z=a.isObject,l=
461
+ a.pick,e=a.splat;C.prototype.setResponsive=function(e,l){var r=this.options.responsive,t=[],p=this.currentResponsive;!l&&r&&r.rules&&r.rules.forEach(function(h){void 0===h._id&&(h._id=a.uniqueKey());this.matchResponsiveRule(h,t,e)},this);l=a.merge.apply(0,t.map(function(e){return a.find(r.rules,function(a){return a._id===e}).chartOptions}));l.isResponsiveOptions=!0;t=t.toString()||void 0;t!==(p&&p.ruleIds)&&(p&&this.update(p.undoOptions,e,!0),t?(p=this.currentOptions(l),p.isResponsiveOptions=!0,this.currentResponsive=
462
+ {ruleIds:t,mergedOptions:l,undoOptions:p},this.update(l,e,!0)):this.currentResponsive=void 0)};C.prototype.matchResponsiveRule=function(a,e){var r=a.condition;(r.callback||function(){return this.chartWidth<=l(r.maxWidth,Number.MAX_VALUE)&&this.chartHeight<=l(r.maxHeight,Number.MAX_VALUE)&&this.chartWidth>=l(r.minWidth,0)&&this.chartHeight>=l(r.minHeight,0)}).call(this)&&e.push(a._id)};C.prototype.currentOptions=function(t){function r(p,h,k,t){var g;a.objectEach(p,function(a,b){if(!t&&-1<w.collectionsWithUpdate.indexOf(b))for(a=
463
+ e(a),k[b]=[],g=0;g<a.length;g++)h[b][g]&&(k[b][g]={},r(a[g],h[b][g],k[b][g],t+1));else z(a)?(k[b]=D(a)?[]:{},r(a,h[b]||{},k[b],t+1)):k[b]=l(h[b],null)})}var w=this,x={};r(t,this.options,x,0);return x}});J(H,"masters/highcharts.src.js",[H["parts/Globals.js"]],function(a){return a});J(H,"parts-gantt/CurrentDateIndicator.js",[H["parts/Globals.js"]],function(a){var C=a.addEvent,D=a.PlotLineOrBand,z=a.merge,l={currentDateIndicator:!0,color:"#ccd6eb",width:2,label:{format:"%a, %b %d %Y, %H:%M",formatter:void 0,
464
+ rotation:0,style:{fontSize:"10px"}}};C(a.Axis,"afterSetOptions",function(){var a=this.options,t=a.currentDateIndicator;t&&("object"===typeof t?(t.label&&t.label.format&&(t.label.formatter=void 0),t=z(l,t)):t=z(l),t.value=new Date,a.plotLines||(a.plotLines=[]),a.plotLines.push(t))});C(D,"render",function(){var e=this.options,l,r;e.currentDateIndicator&&e.label&&(l=e.label.format,r=e.label.formatter,e.value=new Date,e.label.text="function"===typeof r?r(this):a.dateFormat(l,new Date),this.label&&this.label.attr({text:e.label.text}))})});
465
+ J(H,"parts-gantt/GridAxis.js",[H["parts/Globals.js"]],function(a){var C=a.addEvent,D=a.dateFormat,z=a.defined,l=a.isArray,e=a.isNumber,t=function(b){return a.isObject(b,!0)},r=a.merge,w=a.pick,x=a.wrap,p=a.Chart,h=a.Axis,k=a.Tick,v=function(a){var b=a.options,c=b&&t(b.grid)?b.grid:{},g=25/11,e=a.chart.renderer.fontMetrics(b.labels.style.fontSize);b.labels||(b.labels={});b.labels.align=w(b.labels.align,"center");a.categories||(b.showLastLabel=!1);a.horiz&&(b.tickLength=c.cellHeight||e.h*g);a.labelRotation=
466
+ 0;b.labels.rotation=0},g={top:0,right:1,bottom:2,left:3,0:"top",1:"right",2:"bottom",3:"left"};h.prototype.isNavigatorAxis=function(){return/highcharts-navigator-[xy]axis/.test(this.options.className)};h.prototype.isOuterAxis=function(){var a=this,c=-1,f=!0;a.chart.axes.forEach(function(b,d){b.side!==a.side||b.isNavigatorAxis()||(b===a?c=d:0<=c&&d>c&&(f=!1))});f&&e(a.columnIndex)&&(f=(a.linkedParent&&a.linkedParent.columns||a.columns).length===a.columnIndex);return f};h.prototype.getMaxLabelDimensions=
467
+ function(a,c){var b={width:0,height:0};c.forEach(function(c){c=a[c];var d;t(c)&&(d=t(c.label)?c.label:{},c=d.getBBox?d.getBBox().height:0,d.textStr&&!e(d.textPxLength)&&(d.textPxLength=d.getBBox().width),d=e(d.textPxLength)?d.textPxLength:0,b.height=Math.max(c,b.height),b.width=Math.max(d,b.width))});return b};a.dateFormats.W=function(a){a=new Date(a);var b;a.setHours(0,0,0,0);a.setDate(a.getDate()-(a.getDay()||7));b=new Date(a.getFullYear(),0,1);return Math.ceil(((a-b)/864E5+1)/7)};a.dateFormats.E=
468
+ function(a){return D("%a",a,!0).charAt(0)};C(k,"afterGetLabelPosition",function(a){var b=this.label,c=this.axis,h=c.reversed,k=c.chart,p=c.options,m=p&&t(p.grid)?p.grid:{},p=c.options.labels,n=p.align,r=g[c.side],v=a.tickmarkOffset,x=c.tickPositions,A=this.pos-v,x=e(x[a.index+1])?x[a.index+1]-v:c.max+v,q=c.tickSize("tick",!0),v=l(q)?q[0]:0,q=q&&q[1]/2,w;!0===m.enabled&&("top"===r?(m=c.top+c.offset,w=m-v):"bottom"===r?(w=k.chartHeight-c.bottom+c.offset,m=w+v):(m=c.top+c.len-c.translate(h?x:A),w=c.top+
469
+ c.len-c.translate(h?A:x)),"right"===r?(r=k.chartWidth-c.right+c.offset,h=r+v):"left"===r?(h=c.left+c.offset,r=h-v):(r=Math.round(c.left+c.translate(h?x:A))-q,h=Math.round(c.left+c.translate(h?A:x))-q),this.slotWidth=h-r,a.pos.x="left"===n?r:"right"===n?h:r+(h-r)/2,a.pos.y=w+(m-w)/2,k=k.renderer.fontMetrics(p.style.fontSize,b.element),b=b.getBBox().height,p.useHTML?a.pos.y+=k.b+-(b/2):(b=Math.round(b/k.h),a.pos.y+=(k.b-(k.h-k.f))/2+-((b-1)*k.h/2)),a.pos.x+=c.horiz&&p.x||0)});C(h,"afterTickSize",function(a){var b=
470
+ this.maxLabelDimensions,c=this.options;!0===(c&&t(c.grid)?c.grid:{}).enabled&&(c=2*Math.abs(this.defaultLeftAxisOptions.labels.x),b=c+(this.horiz?b.height:b.width),l(a.tickSize)?a.tickSize[0]=b:a.tickSize=[b])});C(h,"afterGetTitlePosition",function(a){var b=this.options;if(!0===(b&&t(b.grid)?b.grid:{}).enabled){var c=this.axisTitle,e=c&&c.getBBox().width,h=this.horiz,k=this.left,m=this.top,n=this.width,l=this.height,p=b.title,b=this.opposite,r=this.offset,A=this.tickSize()||[0],q=p.x||0,v=p.y||0,
471
+ x=w(p.margin,h?5:10),c=this.chart.renderer.fontMetrics(p.style&&p.style.fontSize,c).f,A=(h?m+l:k)+A[0]/2*(b?-1:1)*(h?1:-1)+(this.side===g.bottom?c:0);a.titlePosition.x=h?k-e/2-x+q:A+(b?n:0)+r+q;a.titlePosition.y=h?A-(b?l:0)+(b?c:-c)/2+r+v:m-x+v}});x(h.prototype,"unsquish",function(a){var b=this.options;return!0===(b&&t(b.grid)?b.grid:{}).enabled&&this.categories?this.tickInterval:a.apply(this,Array.prototype.slice.call(arguments,1))});C(h,"afterSetOptions",function(b){var c=this.options;b=b.userOptions;
472
+ var f,g=c&&t(c.grid)?c.grid:{};!0===g.enabled&&(f=r(!0,{className:"highcharts-grid-axis "+(b.className||""),dateTimeLabelFormats:{hour:{list:["%H:%M","%H"]},day:{list:["%A, %e. %B","%a, %e. %b","%E"]},week:{list:["Week %W","W%W"]},month:{list:["%B","%b","%o"]}},grid:{borderWidth:1},labels:{padding:2,style:{fontSize:"13px"}},margin:0,title:{text:null,reserveSpace:!1,rotation:0},units:[["millisecond",[1,10,100]],["second",[1,10]],["minute",[1,5,15]],["hour",[1,6]],["day",[1]],["week",[1]],["month",
473
+ [1]],["year",null]]},b),"xAxis"===this.coll&&(z(b.linkedTo)&&!z(b.tickPixelInterval)&&(f.tickPixelInterval=350),z(b.tickPixelInterval)||!z(b.linkedTo)||z(b.tickPositioner)||z(b.tickInterval)||(f.tickPositioner=function(b,c){var d=this.linkedParent&&this.linkedParent.tickPositions&&this.linkedParent.tickPositions.info;if(d){var g,e,h,k,l=f.units;for(k=0;k<l.length;k++)if(l[k][0]===d.unitName){g=k;break}if(l[g][1])return l[g+1]&&(h=l[g+1][0],e=(l[g+1][1]||[1])[0]),d=a.timeUnits[h],this.tickInterval=
474
+ d*e,this.getTimeTicks({unitRange:d,count:e,unitName:h},b,c,this.options.startOfWeek)}})),r(!0,this.options,f),this.horiz&&(c.minPadding=w(b.minPadding,0),c.maxPadding=w(b.maxPadding,0)),e(c.grid.borderWidth)&&(c.tickWidth=c.lineWidth=g.borderWidth))});C(h,"afterSetAxisTranslation",function(){var a=this.options,c=a&&t(a.grid)?a.grid:{},f=this.tickPositions&&this.tickPositions.info,g=this.userOptions.labels||{};this.horiz&&(!0===c.enabled&&this.series.forEach(function(a){a.options.pointRange=0}),f&&
475
+ (!1===a.dateTimeLabelFormats[f.unitName].range||1<f.count)&&!z(g.align)&&(a.labels.align="left",z(g.x)||(a.labels.x=3)))});C(h,"trimTicks",function(){var a=this.options,c=a&&t(a.grid)?a.grid:{},f=this.categories,g=this.tickPositions,e=g[0],h=g[g.length-1],m=this.linkedParent&&this.linkedParent.min||this.min,n=this.linkedParent&&this.linkedParent.max||this.max,k=this.tickInterval;!0!==c.enabled||f||!this.horiz&&!this.isLinked||(e<m&&e+k>m&&!a.startOnTick&&(g[0]=m),h>n&&h-k<n&&!a.endOnTick&&(g[g.length-
476
+ 1]=n))});C(h,"afterRender",function(){var a=this.options,c=a&&t(a.grid)?a.grid:{},f,e,h,k,m,n,l=this.chart.renderer,p=this.horiz;if(!0===c.enabled){c=2*Math.abs(this.defaultLeftAxisOptions.labels.x);this.maxLabelDimensions=this.getMaxLabelDimensions(this.ticks,this.tickPositions);c=this.maxLabelDimensions.width+c;f=a.lineWidth;this.rightWall&&this.rightWall.destroy();e=this.axisGroup.getBBox();if(this.isOuterAxis()&&this.axisLine&&(p&&(c=e.height-1),f)){e=this.getLinePath(f);m=e.indexOf("M")+1;n=
477
+ e.indexOf("L")+1;h=e.indexOf("M")+2;k=e.indexOf("L")+2;if(this.side===g.top||this.side===g.left)c=-c;p?(e[h]+=c,e[k]+=c):(e[m]+=c,e[n]+=c);this.axisLineExtra?this.axisLineExtra.animate({d:e}):this.axisLineExtra=l.path(e).attr({stroke:a.lineColor,"stroke-width":f,zIndex:7}).addClass("highcharts-axis-line").add(this.axisGroup);this.axisLine[this.showAxis?"show":"hide"](!0)}(this.columns||[]).forEach(function(a){a.render()})}});var c={afterGetOffset:function(){(this.columns||[]).forEach(function(a){a.getOffset()})},
478
+ afterInit:function(){var b=this.chart,c=this.userOptions,f=this.options,f=f&&t(f.grid)?f.grid:{};f.enabled&&(v(this),x(this,"labelFormatter",function(b){var c=this.axis,d=c.tickPositions,f=this.value,g=(c.isLinked?c.linkedParent:c).series[0],e=f===d[0],d=f===d[d.length-1],g=g&&a.find(g.options.data,function(a){return a[c.isXAxis?"x":"y"]===f});this.isFirst=e;this.isLast=d;this.point=g;return b.call(this)}));if(f.columns)for(var g=this.columns=[],e=this.columnIndex=0;++e<f.columns.length;){var k=r(c,
479
+ f.columns[f.columns.length-e-1],{linkedTo:0,type:"category"});delete k.grid.columns;k=new h(this.chart,k,!0);k.isColumn=!0;k.columnIndex=e;a.erase(b.axes,k);a.erase(b[this.coll],k);g.push(k)}},afterSetOptions:function(a){a=(a=a.userOptions)&&t(a.grid)?a.grid:{};var b=a.columns;a.enabled&&b&&r(!0,this.options,b[b.length-1])},afterSetScale:function(){(this.columns||[]).forEach(function(a){a.setScale()})},destroy:function(a){(this.columns||[]).forEach(function(b){b.destroy(a.keepEvents)})},init:function(a){var b=
480
+ (a=a.userOptions)&&t(a.grid)?a.grid:{};b.enabled&&z(b.borderColor)&&(a.tickColor=a.lineColor=b.borderColor)}};Object.keys(c).forEach(function(a){C(h,a,c[a])});C(p,"afterSetChartSize",function(){this.axes.forEach(function(a){(a.columns||[]).forEach(function(a){a.setAxisSize();a.setAxisTranslation()})})})});J(H,"modules/static-scale.src.js",[H["parts/Globals.js"]],function(a){var C=a.Chart,D=a.pick;a.addEvent(a.Axis,"afterSetOptions",function(){var z=this.chart.options&&this.chart.options.chart;!this.horiz&&
481
+ a.isNumber(this.options.staticScale)&&(!z.height||z.scrollablePlotArea&&z.scrollablePlotArea.minHeight)&&(this.staticScale=this.options.staticScale)});C.prototype.adjustHeight=function(){"adjustHeight"!==this.redrawTrigger&&((this.axes||[]).forEach(function(z){var l=z.chart,e=!!l.initiatedScale&&l.options.animation,t=z.options.staticScale,r;z.staticScale&&a.defined(z.min)&&(r=D(z.unitLength,z.max+z.tickInterval-z.min)*t,r=Math.max(r,t),t=r-l.plotHeight,1<=Math.abs(t)&&(l.plotHeight=r,l.redrawTrigger=
482
+ "adjustHeight",l.setSize(void 0,l.chartHeight+t,e)),z.series.forEach(function(a){(a=a.sharedClipKey&&l[a.sharedClipKey])&&a.attr({height:l.plotHeight})}))}),this.initiatedScale=!0);this.redrawTrigger=null};a.addEvent(C,"render",C.prototype.adjustHeight)});J(H,"parts-gantt/Tree.js",[H["parts/Globals.js"]],function(a){var C=a.extend,D=a.isNumber,z=a.pick,l=function(a,e){var l=a.reduce(function(a,e){var h=z(e.parent,"");void 0===a[h]&&(a[h]=[]);a[h].push(e);return a},{});Object.keys(l).forEach(function(a,
483
+ p){var h=l[a];""!==a&&-1===e.indexOf(a)&&(h.forEach(function(a){p[""].push(a)}),delete p[a])});return l},e=function(a,l,w,x,p,h){var k=0,r=0,g=h&&h.after,c=h&&h.before;l={data:x,depth:w-1,id:a,level:w,parent:l};var b,d;"function"===typeof c&&c(l,h);c=(p[a]||[]).map(function(c){var f=e(c.id,a,w+1,c,p,h),g=c.start;c=!0===c.milestone?g:c.end;b=!D(b)||g<b?g:b;d=!D(d)||c>d?c:d;k=k+1+f.descendants;r=Math.max(f.height+1,r);return f});x&&(x.start=z(x.start,b),x.end=z(x.end,d));C(l,{children:c,descendants:k,
484
+ height:r});"function"===typeof g&&g(l,h);return l};return{getListOfParents:l,getNode:e,getTree:function(a,r){var t=a.map(function(a){return a.id});a=l(a,t);return e("",null,1,null,a,r)}}});J(H,"mixins/tree-series.js",[H["parts/Globals.js"]],function(a){var C=a.extend,D=a.isArray,z=a.isObject,l=a.isNumber,e=a.merge,t=a.pick;return{getColor:function(e,l){var r=l.index,p=l.mapOptionsToLevel,h=l.parentColor,k=l.parentColorIndex,v=l.series,g=l.colors,c=l.siblings,b=v.points,d=v.chart.options.chart,f,y,
485
+ u,w;if(e){b=b[e.i];e=p[e.level]||{};if(p=b&&e.colorByPoint)y=b.index%(g?g.length:d.colorCount),f=g&&g[y];if(!v.chart.styledMode){g=b&&b.options.color;d=e&&e.color;if(u=h)u=(u=e&&e.colorVariation)&&"brightness"===u.key?a.color(h).brighten(r/c*u.to).get():h;u=t(g,d,f,u,v.color)}w=t(b&&b.options.colorIndex,e&&e.colorIndex,y,k,l.colorIndex)}return{color:u,colorIndex:w}},getLevelOptions:function(a){var r=null,t,p,h,k;if(z(a))for(r={},h=l(a.from)?a.from:1,k=a.levels,p={},t=z(a.defaults)?a.defaults:{},D(k)&&
486
+ (p=k.reduce(function(a,g){var c,b;z(g)&&l(g.level)&&(b=e({},g),c="boolean"===typeof b.levelIsConstant?b.levelIsConstant:t.levelIsConstant,delete b.levelIsConstant,delete b.level,g=g.level+(c?0:h-1),z(a[g])?C(a[g],b):a[g]=b);return a},{})),k=l(a.to)?a.to:1,a=0;a<=k;a++)r[a]=e({},t,z(p[a])?p[a]:{});return r},setTreeValues:function w(a,e){var h=e.before,k=e.idRoot,l=e.mapIdToNode[k],g=e.points[a.i],c=g&&g.options||{},b=0,d=[];C(a,{levelDynamic:a.level-(("boolean"===typeof e.levelIsConstant?e.levelIsConstant:
487
+ 1)?0:l.level),name:t(g&&g.name,""),visible:k===a.id||("boolean"===typeof e.visible?e.visible:!1)});"function"===typeof h&&(a=h(a,e));a.children.forEach(function(c,g){var f=C({},e);C(f,{index:g,siblings:a.children.length,visible:a.visible});c=w(c,f);d.push(c);c.visible&&(b+=c.val)});a.visible=0<b||a.visible;h=t(c.value,b);C(a,{children:d,childrenTotal:b,isLeaf:a.visible&&!b,val:h});return a},updateRootId:function(a){var e;z(a)&&(e=z(a.options)?a.options:{},e=t(a.rootNode,e.rootId,""),z(a.userOptions)&&
488
+ (a.userOptions.rootId=e),a.rootNode=e);return e}}});J(H,"modules/broken-axis.src.js",[H["parts/Globals.js"]],function(a){var C=a.addEvent,D=a.pick,z=a.extend,l=a.isArray,e=a.find,t=a.fireEvent,r=a.Axis,w=a.Series,x=function(a,h){return e(h,function(e){return e.from<a&&a<e.to})};z(r.prototype,{isInBreak:function(a,e){var h=a.repeat||Infinity,l=a.from,g=a.to-a.from;e=e>=l?(e-l)%h:h-(l-e)%h;return a.inclusive?e<=g:e<g&&0!==e},isInAnyBreak:function(a,e){var h=this.options.breaks,l=h&&h.length,g,c,b;if(l){for(;l--;)this.isInBreak(h[l],
489
+ a)&&(g=!0,c||(c=D(h[l].showPoints,!this.isXAxis)));b=g&&e?g&&!c:g}return b}});C(r,"afterInit",function(){"function"===typeof this.setBreaks&&this.setBreaks(this.options.breaks,!1)});C(r,"afterSetTickPositions",function(){if(this.isBroken){var a=this.tickPositions,e=this.tickPositions.info,k=[],l;for(l=0;l<a.length;l++)this.isInAnyBreak(a[l])||k.push(a[l]);this.tickPositions=k;this.tickPositions.info=e}});C(r,"afterSetOptions",function(){this.isBroken&&(this.options.ordinal=!1)});r.prototype.setBreaks=
490
+ function(a,e){function h(a){var b=a,c,e;for(e=0;e<g.breakArray.length;e++)if(c=g.breakArray[e],c.to<=a)b-=c.len;else if(c.from>=a)break;else if(g.isInBreak(c,a)){b-=a-c.from;break}return b}function p(a){var b,c;for(c=0;c<g.breakArray.length&&!(b=g.breakArray[c],b.from>=a);c++)b.to<a?a+=b.len:g.isInBreak(b,a)&&(a+=b.len);return a}var g=this,c=l(a)&&!!a.length;g.isDirty=g.isBroken!==c;g.isBroken=c;g.options.breaks=g.userOptions.breaks=a;g.forceRedraw=!0;c||g.val2lin!==h||(delete g.val2lin,delete g.lin2val);
491
+ c&&(g.userOptions.ordinal=!1,g.val2lin=h,g.lin2val=p,g.setExtremes=function(a,c,f,g,e){if(this.isBroken){for(var b,d=this.options.breaks;b=x(a,d);)a=b.to;for(;b=x(c,d);)c=b.from;c<a&&(c=a)}r.prototype.setExtremes.call(this,a,c,f,g,e)},g.setAxisTranslation=function(a){r.prototype.setAxisTranslation.call(this,a);this.unitLength=null;if(this.isBroken){a=g.options.breaks;var b=[],c=[],e=0,h,k,m=g.userMin||g.min,n=g.userMax||g.max,l=D(g.pointRangePadding,0),p,v;a.forEach(function(a){k=a.repeat||Infinity;
492
+ g.isInBreak(a,m)&&(m+=a.to%k-m%k);g.isInBreak(a,n)&&(n-=n%k-a.from%k)});a.forEach(function(a){p=a.from;for(k=a.repeat||Infinity;p-k>m;)p-=k;for(;p<m;)p+=k;for(v=p;v<n;v+=k)b.push({value:v,move:"in"}),b.push({value:v+(a.to-a.from),move:"out",size:a.breakSize})});b.sort(function(a,b){return a.value===b.value?("in"===a.move?0:1)-("in"===b.move?0:1):a.value-b.value});h=0;p=m;b.forEach(function(a){h+="in"===a.move?1:-1;1===h&&"in"===a.move&&(p=a.value);0===h&&(c.push({from:p,to:a.value,len:a.value-p-(a.size||
493
+ 0)}),e+=a.value-p-(a.size||0))});g.breakArray=c;g.unitLength=n-m-e+l;t(g,"afterBreaks");g.staticScale?g.transA=g.staticScale:g.unitLength&&(g.transA*=(n-g.min+l)/g.unitLength);l&&(g.minPixelPadding=g.transA*g.minPointOffset);g.min=m;g.max=n}});D(e,!0)&&this.chart.redraw()};C(w,"afterGeneratePoints",function(){var a=this.xAxis,e=this.yAxis,k=this.points,l,g=k.length,c=this.options.connectNulls,b;if(a&&e&&(a.options.breaks||e.options.breaks))for(;g--;)l=k[g],b=null===l.y&&!1===c,b||!a.isInAnyBreak(l.x,
494
+ !0)&&!e.isInAnyBreak(l.y,!0)||(k.splice(g,1),this.data[g]&&this.data[g].destroyElements())});C(w,"afterRender",function(){this.drawBreaks(this.xAxis,["x"]);this.drawBreaks(this.yAxis,D(this.pointArrayMap,["y"]))});a.Series.prototype.drawBreaks=function(a,e){var h=this,l=h.points,g,c,b,d;a&&e.forEach(function(f){g=a.breakArray||[];c=a.isXAxis?a.min:D(h.options.threshold,a.min);l.forEach(function(e){d=D(e["stack"+f.toUpperCase()],e[f]);g.forEach(function(f){b=!1;if(c<f.from&&d>f.to||c>f.from&&d<f.from)b=
495
+ "pointBreak";else if(c<f.from&&d>f.from&&d<f.to||c>f.from&&d>f.to&&d<f.from)b="pointInBreak";b&&t(a,b,{point:e,brk:f})})})})};a.Series.prototype.gappedPath=function(){var e=this.currentDataGrouping,h=e&&e.gapSize,e=this.options.gapSize,k=this.points.slice(),l=k.length-1,g=this.yAxis;if(e&&0<l)for("value"!==this.options.gapUnit&&(e*=this.closestPointRange),h&&h>e&&(e=h);l--;)k[l+1].x-k[l].x>e&&(h=(k[l].x+k[l+1].x)/2,k.splice(l+1,0,{isNull:!0,x:h}),this.options.stacking&&(h=g.stacks[this.stackKey][h]=
496
+ new a.StackItem(g,g.options.stackLabels,!1,h,this.stack),h.total=0));return this.getGraphPath(k)}});J(H,"parts-gantt/TreeGrid.js",[H["parts/Globals.js"],H["parts-gantt/Tree.js"],H["mixins/tree-series.js"]],function(a,C,D){var z=a.addEvent,l=function(a){return Array.prototype.slice.call(a,1)},e=a.defined,t=a.extend,r=a.find,w=a.fireEvent,x=D.getLevelOptions,p=a.merge,h=a.isNumber,k=function(b){return a.isObject(b,!0)},v=a.isString,g=a.pick,c=a.wrap;D=a.Axis;var b=a.Tick,d=function(a,b){var d,f;for(d in b)b.hasOwnProperty(d)&&
497
+ (f=b[d],c(a,d,f))},f=function(a,b){var c=a.collapseStart;a=a.collapseEnd;a>=b&&(c-=.5);return{from:c,to:a,showPoints:!1}},y=function(a){return Object.keys(a.mapOfPosToGridNode).reduce(function(b,c){c=+c;a.min<=c&&a.max>=c&&!a.isInAnyBreak(c)&&b.push(c);return b},[])},u=function(a,b){var c=a.options.breaks||[],d=f(b,a.max);return c.some(function(a){return a.from===d.from&&a.to===d.to})},F=function(a,b){var c=a.options.breaks||[];a=f(b,a.max);c.push(a);return c},m=function(a,b){var c=a.options.breaks||
498
+ [],d=f(b,a.max);return c.reduce(function(a,b){b.to===d.to&&b.from===d.from||a.push(b);return a},[])},n=function(b,c){var d=b.labelIcon,f=!d,e=c.renderer,m=c.xy,h=c.options,k=h.width,n=h.height,l=m.x-k/2-h.padding,m=m.y-n/2,u=c.collapsed?90:180,p=c.show&&a.isNumber(m);f&&(b.labelIcon=d=e.path(e.symbols[h.type](h.x,h.y,k,n)).addClass("highcharts-label-icon").add(c.group));p||d.attr({y:-9999});e.styledMode||d.attr({"stroke-width":1,fill:g(c.color,"#666666")}).css({cursor:"pointer",stroke:h.lineColor,
499
+ strokeWidth:h.lineWidth});d[f?"attr":"animate"]({translateX:l,translateY:m,rotation:u})},B=function(a,b,c){var d=[],f=[],e={},g={},m=-1,h="boolean"===typeof b?b:!1;a=C.getTree(a,{after:function(a){a=g[a.pos];var b=0,c=0;a.children.forEach(function(a){c+=a.descendants+1;b=Math.max(a.height+1,b)});a.descendants=c;a.height=b;a.collapsed&&f.push(a)},before:function(a){var b=k(a.data)?a.data:{},c=v(b.name)?b.name:"",f=e[a.parent],f=k(f)?g[f.pos]:null,n=function(a){return a.name===c},l;h&&k(f)&&(l=r(f.children,
500
+ n))?(n=l.pos,l.nodes.push(a)):n=m++;g[n]||(g[n]=l={depth:f?f.depth+1:0,name:c,nodes:[a],children:[],pos:n},-1!==n&&d.push(c),k(f)&&f.children.push(l));v(a.id)&&(e[a.id]=a);!0===b.collapsed&&(l.collapsed=!0);a.pos=n}});g=function(a,b){var c=function(a,d,f){var e=d+(-1===d?0:b-1),g=(e-d)/2,m=d+g;a.nodes.forEach(function(a){var b=a.data;k(b)&&(b.y=d+b.seriesIndex,delete b.seriesIndex);a.pos=m});f[m]=a;a.pos=m;a.tickmarkOffset=g+.5;a.collapseStart=e+.5;a.children.forEach(function(a){c(a,e+1,f);e=a.collapseEnd-
501
+ .5});a.collapseEnd=e+.5;return f};return c(a["-1"],-1,{})}(g,c);return{categories:d,mapOfIdToNode:e,mapOfPosToGridNode:g,collapsedNodes:f,tree:a}},E=function(b){b.target.axes.filter(function(a){return"treegrid"===a.options.type}).forEach(function(c){var d=c.options||{},f=d.labels,e,g=d.uniqueNames,m=0,h;c.series.some(function(a){return!a.hasRendered||a.isDirtyData||a.isDirty})&&(d=c.series.reduce(function(a,b){b.visible&&(b.options.data.forEach(function(b){k(b)&&(b.seriesIndex=m,a.push(b))}),!0===
502
+ g&&m++);return a},[]),h=B(d,g,!0===g?m:1),c.categories=h.categories,c.mapOfPosToGridNode=h.mapOfPosToGridNode,c.hasNames=!0,c.tree=h.tree,c.series.forEach(function(a){var b=a.options.data.map(function(a){return k(a)?p(a):a});a.visible&&a.setData(b,!1)}),c.mapOptionsToLevel=x({defaults:f,from:1,levels:f.levels,to:c.tree.height}),"beforeRender"===b.type&&(e=a.addEvent(c,"foundExtremes",function(){h.collapsedNodes.forEach(function(a){a=F(c,a);c.setBreaks(a,!1)});e()})))})};d(D.prototype,{init:function(a,
503
+ b,c){var d="treegrid"===c.type;d&&(z(b,"beforeRender",E),z(b,"beforeRedraw",E),c=p({grid:{enabled:!0},labels:{align:"left",levels:[{level:void 0},{level:1,style:{fontWeight:"bold"}}],symbol:{type:"triangle",x:-5,y:-5,height:10,width:10,padding:5}},uniqueNames:!1},c,{reversed:!0,grid:{columns:void 0}}));a.apply(this,[b,c]);d&&(this.hasNames=!0,this.options.showLastLabel=!0)},getMaxLabelDimensions:function(a){var b=this.options,c=b&&b.labels,b=c&&h(c.indentation)?b.labels.indentation:0,c=a.apply(this,
504
+ l(arguments)),d;"treegrid"===this.options.type&&this.mapOfPosToGridNode&&(d=this.mapOfPosToGridNode[-1].height,c.width+=b*(d-1));return c},generateTick:function(a,c){var d=k(this.mapOptionsToLevel)?this.mapOptionsToLevel:{},f=this.ticks,e=f[c],g,m;"treegrid"===this.options.type?(m=this.mapOfPosToGridNode[c],(d=d[m.depth])&&(g={labels:d}),e?(e.parameters.category=m.name,e.options=g,e.addLabel()):f[c]=new b(this,c,null,void 0,{category:m.name,tickmarkOffset:m.tickmarkOffset,options:g})):a.apply(this,
505
+ l(arguments))},setTickInterval:function(a){var b=this.options;"treegrid"===b.type?(this.min=g(this.userMin,b.min,this.dataMin),this.max=g(this.userMax,b.max,this.dataMax),w(this,"foundExtremes"),this.setAxisTranslation(!0),this.tickmarkOffset=.5,this.tickInterval=1,this.tickPositions=this.mapOfPosToGridNode?y(this):[]):a.apply(this,l(arguments))}});d(b.prototype,{getLabelPosition:function(a,b,c,d,f,e,m,n,l){var q=g(this.options&&this.options.labels,e);e=this.pos;var u=this.axis,p="treegrid"===u.options.type;
506
+ a=a.apply(this,[b,c,d,f,q,m,n,l]);p&&(b=q&&k(q.symbol)?q.symbol:{},q=q&&h(q.indentation)?q.indentation:0,e=(e=(u=u.mapOfPosToGridNode)&&u[e])&&e.depth||1,a.x+=b.width+2*b.padding+(e-1)*q);return a},renderLabel:function(b){var c=this,d=c.pos,f=c.axis,m=c.label,h=f.mapOfPosToGridNode,p=f.options,r=g(c.options&&c.options.labels,p&&p.labels),y=r&&k(r.symbol)?r.symbol:{},B=(h=h&&h[d])&&h.depth,p="treegrid"===p.type,t=!(!m||!m.element),v=-1<f.tickPositions.indexOf(d),d=f.chart.styledMode;p&&h&&t&&m.addClass("highcharts-treegrid-node-level-"+
507
+ B);b.apply(c,l(arguments));p&&h&&t&&0<h.descendants&&(f=u(f,h),n(c,{color:!d&&m.styles.color,collapsed:f,group:m.parentGroup,options:y,renderer:m.renderer,show:v,xy:m.xy}),y="highcharts-treegrid-node-"+(f?"expanded":"collapsed"),m.addClass("highcharts-treegrid-node-"+(f?"collapsed":"expanded")).removeClass(y),d||m.css({cursor:"pointer"}),[m,c.labelIcon].forEach(function(b){b.attachedTreeGridEvents||(a.addEvent(b.element,"mouseover",function(){var a=m;a.addClass("highcharts-treegrid-node-active");
508
+ a.renderer.styledMode||a.css({textDecoration:"underline"})}),a.addEvent(b.element,"mouseout",function(){var a=m,b=r,b=e(b.style)?b.style:{};a.removeClass("highcharts-treegrid-node-active");a.renderer.styledMode||a.css({textDecoration:b.textDecoration})}),a.addEvent(b.element,"click",function(){c.toggleCollapse()}),b.attachedTreeGridEvents=!0)}))}});t(b.prototype,{collapse:function(a){var b=this.axis,c=F(b,b.mapOfPosToGridNode[this.pos]);b.setBreaks(c,g(a,!0))},expand:function(a){var b=this.axis,c=
509
+ m(b,b.mapOfPosToGridNode[this.pos]);b.setBreaks(c,g(a,!0))},toggleCollapse:function(a){var b=this.axis,c;c=b.mapOfPosToGridNode[this.pos];c=u(b,c)?m(b,c):F(b,c);b.setBreaks(c,g(a,!0))}});D.prototype.utils={getNode:C.getNode}});J(H,"parts-gantt/PathfinderAlgorithms.js",[H["parts/Globals.js"]],function(a){function C(a,e,h){h=h||0;var k=a.length-1;e-=1e-7;for(var l,g;h<=k;)if(l=k+h>>1,g=e-a[l].xMin,0<g)h=l+1;else if(0>g)k=l-1;else return l;return 0<h?h-1:0}function D(a,e){for(var h=C(a,e.x+1)+1;h--;){var k;
510
+ if(k=a[h].xMax>=e.x)k=a[h],k=e.x<=k.xMax&&e.x>=k.xMin&&e.y<=k.yMax&&e.y>=k.yMin;if(k)return h}return-1}function z(a){var e=[];if(a.length){e.push("M",a[0].start.x,a[0].start.y);for(var h=0;h<a.length;++h)e.push("L",a[h].end.x,a[h].end.y)}return e}function l(a,l){a.yMin=t(a.yMin,l.yMin);a.yMax=e(a.yMax,l.yMax);a.xMin=t(a.xMin,l.xMin);a.xMax=e(a.xMax,l.xMax)}var e=Math.min,t=Math.max,r=Math.abs,w=a.pick;return{straight:function(a,e){return{path:["M",a.x,a.y,"L",e.x,e.y],obstacles:[{start:a,end:e}]}},
511
+ simpleConnect:a.extend(function(a,e,h){function k(a,b,c,d,f){a={x:a.x,y:a.y};a[b]=c[d||b]+(f||0);return a}function l(a,b,c){var d=r(b[c]-a[c+"Min"])>r(b[c]-a[c+"Max"]);return k(b,c,a,c+(d?"Max":"Min"),d?1:-1)}var g=[],c,b=w(h.startDirectionX,r(e.x-a.x)>r(e.y-a.y))?"x":"y",d=h.chartObstacles,f=D(d,a);h=D(d,e);var p;-1<h?(c=d[h],h=l(c,e,b),c={start:h,end:e},p=h):p=e;-1<f&&(d=d[f],h=l(d,a,b),g.push({start:a,end:h}),h[b]>=a[b]===h[b]>=p[b]&&(b="y"===b?"x":"y",e=a[b]<e[b],g.push({start:h,end:k(h,b,d,b+
512
+ (e?"Max":"Min"),e?1:-1)}),b="y"===b?"x":"y"));a=g.length?g[g.length-1].end:a;h=k(a,b,p);g.push({start:a,end:h});b=k(h,"y"===b?"x":"y",p);g.push({start:h,end:b});g.push(c);return{path:z(g),obstacles:g}},{requiresObstacles:!0}),fastAvoid:a.extend(function(a,p,h){function k(a,b,c){var d,f,g,m,h,n=a.x<b.x?1:-1;a.x<b.x?(d=a,f=b):(d=b,f=a);a.y<b.y?(m=a,g=b):(m=b,g=a);for(h=0>n?e(C(A,f.x),A.length-1):0;A[h]&&(0<n&&A[h].xMin<=f.x||0>n&&A[h].xMax>=d.x);){if(A[h].xMin<=f.x&&A[h].xMax>=d.x&&A[h].yMin<=g.y&&
513
+ A[h].yMax>=m.y)return c?{y:a.y,x:a.x<b.x?A[h].xMin-1:A[h].xMax+1,obstacle:A[h]}:{x:a.x,y:a.y<b.y?A[h].yMin-1:A[h].yMax+1,obstacle:A[h]};h+=n}return b}function v(a,b,c,d,f){var e=f.soft,g=f.hard,m=d?"x":"y",h={x:b.x,y:b.y},n={x:b.x,y:b.y};f=a[m+"Max"]>=e[m+"Max"];var e=a[m+"Min"]<=e[m+"Min"],l=a[m+"Max"]>=g[m+"Max"],g=a[m+"Min"]<=g[m+"Min"],q=r(a[m+"Min"]-b[m]),u=r(a[m+"Max"]-b[m]);c=10>r(q-u)?b[m]<c[m]:u<q;n[m]=a[m+"Min"];h[m]=a[m+"Max"];a=k(b,n,d)[m]!==n[m];b=k(b,h,d)[m]!==h[m];c=a?b?c:!0:b?!1:c;
514
+ c=e?f?c:!0:f?!1:c;return g?l?c:!0:l?!1:c}function g(a,b,c){if(a.x===b.x&&a.y===b.y)return[];var d=c?"x":"y",f,m,q,u,p=h.obstacleOptions.margin;f={soft:{xMin:n,xMax:B,yMin:E,yMax:G},hard:h.hardBounds};m=D(A,a);-1<m?(m=A[m],f=v(m,a,b,c,f),l(m,h.hardBounds),u=c?{y:a.y,x:m[f?"xMax":"xMin"]+(f?1:-1)}:{x:a.x,y:m[f?"yMax":"yMin"]+(f?1:-1)},q=D(A,u),-1<q&&(q=A[q],l(q,h.hardBounds),u[d]=f?t(m[d+"Max"]-p+1,(q[d+"Min"]+m[d+"Max"])/2):e(m[d+"Min"]+p-1,(q[d+"Max"]+m[d+"Min"])/2),a.x===u.x&&a.y===u.y?(x&&(u[d]=
515
+ f?t(m[d+"Max"],q[d+"Max"])+1:e(m[d+"Min"],q[d+"Min"])-1),x=!x):x=!1),a=[{start:a,end:u}]):(d=k(a,{x:c?b.x:a.x,y:c?a.y:b.y},c),a=[{start:a,end:{x:d.x,y:d.y}}],d[c?"x":"y"]!==b[c?"x":"y"]&&(f=v(d.obstacle,d,b,!c,f),l(d.obstacle,h.hardBounds),f={x:c?d.x:d.obstacle[f?"xMax":"xMin"]+(f?1:-1),y:c?d.obstacle[f?"yMax":"yMin"]+(f?1:-1):d.y},c=!c,a=a.concat(g({x:d.x,y:d.y},f,c))));return a=a.concat(g(a[a.length-1].end,b,!c))}function c(a,b,c){var d=e(a.xMax-b.x,b.x-a.xMin)<e(a.yMax-b.y,b.y-a.yMin);c=v(a,b,
516
+ c,d,{soft:h.hardBounds,hard:h.hardBounds});return d?{y:b.y,x:a[c?"xMax":"xMin"]+(c?1:-1)}:{x:b.x,y:a[c?"yMax":"yMin"]+(c?1:-1)}}var b=w(h.startDirectionX,r(p.x-a.x)>r(p.y-a.y)),d=b?"x":"y",f,y,u=[],x=!1,m=h.obstacleMetrics,n=e(a.x,p.x)-m.maxWidth-10,B=t(a.x,p.x)+m.maxWidth+10,E=e(a.y,p.y)-m.maxHeight-10,G=t(a.y,p.y)+m.maxHeight+10,A=h.chartObstacles;f=C(A,n);m=C(A,B);A=A.slice(f,m+1);-1<(m=D(A,p))&&(y=c(A[m],p,a),u.push({end:p,start:y}),p=y);for(;-1<(m=D(A,p));)f=0>p[d]-a[d],y={x:p.x,y:p.y},y[d]=
517
+ A[m][f?d+"Max":d+"Min"]+(f?1:-1),u.push({end:p,start:y}),p=y;a=g(a,p,b);a=a.concat(u.reverse());return{path:z(a),obstacles:a}},{requiresObstacles:!0})}});J(H,"parts-gantt/ArrowSymbols.js",[H["parts/Globals.js"]],function(a){a.SVGRenderer.prototype.symbols.arrow=function(a,D,z,l){return["M",a,D+l/2,"L",a+z,D,"L",a,D+l/2,"L",a+z,D+l]};a.SVGRenderer.prototype.symbols["arrow-half"]=function(C,D,z,l){return a.SVGRenderer.prototype.symbols.arrow(C,D,z/2,l)};a.SVGRenderer.prototype.symbols["triangle-left"]=
518
+ function(a,D,z,l){return["M",a+z,D,"L",a,D+l/2,"L",a+z,D+l,"Z"]};a.SVGRenderer.prototype.symbols["arrow-filled"]=a.SVGRenderer.prototype.symbols["triangle-left"];a.SVGRenderer.prototype.symbols["triangle-left-half"]=function(C,D,z,l){return a.SVGRenderer.prototype.symbols["triangle-left"](C,D,z/2,l)};a.SVGRenderer.prototype.symbols["arrow-filled-half"]=a.SVGRenderer.prototype.symbols["triangle-left-half"]});J(H,"parts-gantt/Pathfinder.js",[H["parts/Globals.js"],H["parts-gantt/PathfinderAlgorithms.js"]],
519
+ function(a,C){function D(a){var b=a.shapeArgs;return b?{xMin:b.x,xMax:b.x+b.width,yMin:b.y,yMax:b.y+b.height}:(b=a.graphic&&a.graphic.getBBox())?{xMin:a.plotX-b.width/2,xMax:a.plotX+b.width/2,yMin:a.plotY-b.height/2,yMax:a.plotY+b.height/2}:null}function z(a){for(var b=a.length,c=0,f,e,h=[],l=function(a,b,c){c=k(c,10);var d=a.yMax+c>b.yMin-c&&a.yMin-c<b.yMax+c,f=a.xMax+c>b.xMin-c&&a.xMin-c<b.xMax+c,e=d?a.xMin>b.xMax?a.xMin-b.xMax:b.xMin-a.xMax:Infinity,m=f?a.yMin>b.yMax?a.yMin-b.yMax:b.yMin-a.yMax:
520
+ Infinity;return f&&d?c?l(a,b,Math.floor(c/2)):Infinity:g(e,m)};c<b;++c)for(f=c+1;f<b;++f)e=l(a[c],a[f]),80>e&&h.push(e);h.push(80);return v(Math.floor(h.sort(function(a,b){return a-b})[Math.floor(h.length/10)]/2-1),1)}function l(a,b,d){this.init(a,b,d)}function e(a){this.init(a)}function t(c){if(c.options.pathfinder||c.series.reduce(function(a,c){c.options&&h(!0,c.options.connectors=c.options.connectors||{},c.options.pathfinder);return a||c.options&&c.options.pathfinder},!1))h(!0,c.options.connectors=
521
+ c.options.connectors||{},c.options.pathfinder),a.error('WARNING: Pathfinder options have been renamed. Use "chart.connectors" or "series.connectors" instead.')}var r=a.defined,w=a.deg2rad,x=a.extend,p=a.addEvent,h=a.merge,k=a.pick,v=Math.max,g=Math.min;x(a.defaultOptions,{connectors:{type:"straight",lineWidth:1,marker:{enabled:!1,align:"center",verticalAlign:"middle",inside:!1,lineWidth:1},startMarker:{symbol:"diamond"},endMarker:{symbol:"arrow-filled"}}});l.prototype={init:function(a,b,d){this.fromPoint=
522
+ a;this.toPoint=b;this.options=d;this.chart=a.series.chart;this.pathfinder=this.chart.pathfinder},renderPath:function(a,b,d){var c=this.chart,e=c.styledMode,g=c.pathfinder,h=!c.options.chart.forExport&&!1!==d,m=this.graphics&&this.graphics.path;g.group||(g.group=c.renderer.g().addClass("highcharts-pathfinder-group").attr({zIndex:-1}).add(c.seriesGroup));g.group.translate(c.plotLeft,c.plotTop);m&&m.renderer||(m=c.renderer.path().add(g.group),e||m.attr({opacity:0}));m.attr(b);a={d:a};e||(a.opacity=1);
523
+ m[h?"animate":"attr"](a,d);this.graphics=this.graphics||{};this.graphics.path=m},addMarker:function(a,b,d){var c=this.fromPoint.series.chart,e=c.pathfinder,c=c.renderer,g="start"===a?this.fromPoint:this.toPoint,h=g.getPathfinderAnchorPoint(b),m,k;b.enabled&&(d="start"===a?{x:d[4],y:d[5]}:{x:d[d.length-5],y:d[d.length-4]},d=g.getRadiansToVector(d,h),h=g.getMarkerVector(d,b.radius,h),d=-d/w,b.width&&b.height?(m=b.width,k=b.height):m=k=2*b.radius,this.graphics=this.graphics||{},h={x:h.x-m/2,y:h.y-k/
524
+ 2,width:m,height:k,rotation:d,rotationOriginX:h.x,rotationOriginY:h.y},this.graphics[a]?this.graphics[a].animate(h):(this.graphics[a]=c.symbol(b.symbol).addClass("highcharts-point-connecting-path-"+a+"-marker").attr(h).add(e.group),c.styledMode||this.graphics[a].attr({fill:b.color||this.fromPoint.color,stroke:b.lineColor,"stroke-width":b.lineWidth,opacity:0}).animate({opacity:1},g.series.options.animation)))},getPath:function(c){var b=this.pathfinder,d=this.chart,f=b.algorithms[c.type],e=b.chartObstacles;
525
+ if("function"!==typeof f)a.error('"'+c.type+'" is not a Pathfinder algorithm.');else return f.requiresObstacles&&!e&&(e=b.chartObstacles=b.getChartObstacles(c),d.options.connectors.algorithmMargin=c.algorithmMargin,b.chartObstacleMetrics=b.getObstacleMetrics(e)),f(this.fromPoint.getPathfinderAnchorPoint(c.startMarker),this.toPoint.getPathfinderAnchorPoint(c.endMarker),h({chartObstacles:e,lineObstacles:b.lineObstacles||[],obstacleMetrics:b.chartObstacleMetrics,hardBounds:{xMin:0,xMax:d.plotWidth,yMin:0,
526
+ yMax:d.plotHeight},obstacleOptions:{margin:c.algorithmMargin},startDirectionX:b.getAlgorithmStartDirection(c.startMarker)},c))},render:function(){var a=this.fromPoint,b=a.series,d=b.chart,f=d.pathfinder,e=h(d.options.connectors,b.options.connectors,a.options.connectors,this.options),k={};d.styledMode||(k.stroke=e.lineColor||a.color,k["stroke-width"]=e.lineWidth,e.dashStyle&&(k.dashstyle=e.dashStyle));k.class="highcharts-point-connecting-path highcharts-color-"+a.colorIndex;e=h(k,e);r(e.marker.radius)||
527
+ (e.marker.radius=g(v(Math.ceil((e.algorithmMargin||8)/2)-1,1),5));a=this.getPath(e);d=a.path;a.obstacles&&(f.lineObstacles=f.lineObstacles||[],f.lineObstacles=f.lineObstacles.concat(a.obstacles));this.renderPath(d,k,b.options.animation);this.addMarker("start",h(e.marker,e.startMarker),d);this.addMarker("end",h(e.marker,e.endMarker),d)},destroy:function(){this.graphics&&(a.objectEach(this.graphics,function(a){a.destroy()}),delete this.graphics)}};e.prototype={algorithms:C,init:function(a){this.chart=
528
+ a;this.connections=[];p(a,"redraw",function(){this.pathfinder.update()})},update:function(c){var b=this.chart,d=this,f=d.connections;d.connections=[];b.series.forEach(function(c){c.visible&&c.points.forEach(function(c){var f,e=c.options&&c.options.connect&&a.splat(c.options.connect);c.visible&&!1!==c.isInside&&e&&e.forEach(function(e){f=b.get("string"===typeof e?e:e.to);f instanceof a.Point&&f.series.visible&&f.visible&&!1!==f.isInside&&d.connections.push(new l(c,f,"string"===typeof e?{}:e))})})});
529
+ for(var e=0,g,h,m=f.length,k=d.connections.length;e<m;++e){h=!1;for(g=0;g<k;++g)if(f[e].fromPoint===d.connections[g].fromPoint&&f[e].toPoint===d.connections[g].toPoint){d.connections[g].graphics=f[e].graphics;h=!0;break}h||f[e].destroy()}delete this.chartObstacles;delete this.lineObstacles;d.renderConnections(c)},renderConnections:function(a){a?this.chart.series.forEach(function(a){var b=function(){var b=a.chart.pathfinder;(b&&b.connections||[]).forEach(function(b){b.fromPoint&&b.fromPoint.series===
530
+ a&&b.render()});a.pathfinderRemoveRenderEvent&&(a.pathfinderRemoveRenderEvent(),delete a.pathfinderRemoveRenderEvent)};!1===a.options.animation?b():a.pathfinderRemoveRenderEvent=p(a,"afterAnimate",b)}):this.connections.forEach(function(a){a.render()})},getChartObstacles:function(a){for(var b=[],c=this.chart.series,f=k(a.algorithmMargin,0),e,g=0,h=c.length;g<h;++g)if(c[g].visible)for(var m=0,n=c[g].points.length,l;m<n;++m)l=c[g].points[m],l.visible&&(l=D(l))&&b.push({xMin:l.xMin-f,xMax:l.xMax+f,yMin:l.yMin-
531
+ f,yMax:l.yMax+f});b=b.sort(function(a,b){return a.xMin-b.xMin});r(a.algorithmMargin)||(e=a.algorithmMargin=z(b),b.forEach(function(a){a.xMin-=e;a.xMax+=e;a.yMin-=e;a.yMax+=e}));return b},getObstacleMetrics:function(a){for(var b=0,c=0,f,e,g=a.length;g--;)f=a[g].xMax-a[g].xMin,e=a[g].yMax-a[g].yMin,b<f&&(b=f),c<e&&(c=e);return{maxHeight:c,maxWidth:b}},getAlgorithmStartDirection:function(a){var b="top"!==a.verticalAlign&&"bottom"!==a.verticalAlign;return"left"!==a.align&&"right"!==a.align?b?void 0:!1:
532
+ b?!0:void 0}};a.Connection=l;a.Pathfinder=e;x(a.Point.prototype,{getPathfinderAnchorPoint:function(a){var b=D(this),c,f;switch(a.align){case "right":c="xMax";break;case "left":c="xMin"}switch(a.verticalAlign){case "top":f="yMin";break;case "bottom":f="yMax"}return{x:c?b[c]:(b.xMin+b.xMax)/2,y:f?b[f]:(b.yMin+b.yMax)/2}},getRadiansToVector:function(a,b){r(b)||(b=D(this),b={x:(b.xMin+b.xMax)/2,y:(b.yMin+b.yMax)/2});return Math.atan2(b.y-a.y,a.x-b.x)},getMarkerVector:function(a,b,d){for(var c=2*Math.PI,
533
+ e=D(this),g=e.xMax-e.xMin,h=e.yMax-e.yMin,m=Math.atan2(h,g),k=!1,g=g/2,l=h/2,p=e.xMin+g,e=e.yMin+l,r=p,t=e,q={},v=1,w=1;a<-Math.PI;)a+=c;for(;a>Math.PI;)a-=c;c=Math.tan(a);a>-m&&a<=m?(w=-1,k=!0):a>m&&a<=Math.PI-m?w=-1:a>Math.PI-m||a<=-(Math.PI-m)?(v=-1,k=!0):v=-1;k?(r+=v*g,t+=w*g*c):(r+=h/(2*c)*v,t+=w*l);d.x!==p&&(r=d.x);d.y!==e&&(t=d.y);q.x=r+b*Math.cos(a);q.y=t-b*Math.sin(a);return q}});a.Chart.prototype.callbacks.push(function(a){!1!==a.options.connectors.enabled&&(t(a),this.pathfinder=new e(this),
534
+ this.pathfinder.update(!0))})});J(H,"modules/xrange.src.js",[H["parts/Globals.js"]],function(a){var C=a.addEvent,D=a.defined,z=a.Color,l=a.seriesTypes.column,e=a.correctFloat,t=a.isNumber,r=a.isObject,w=a.merge,x=a.pick,p=a.seriesType,h=a.Axis,k=a.Point,v=a.Series;p("xrange","column",{colorByPoint:!0,dataLabels:{formatter:function(){var a=this.point.partialFill;r(a)&&(a=a.amount);if(t(a)&&0<a)return e(100*a)+"%"},inside:!0,verticalAlign:"middle"},tooltip:{headerFormat:'\x3cspan style\x3d"font-size: 10px"\x3e{point.x} - {point.x2}\x3c/span\x3e\x3cbr/\x3e',
535
+ pointFormat:'\x3cspan style\x3d"color:{point.color}"\x3e\u25cf\x3c/span\x3e {series.name}: \x3cb\x3e{point.yCategory}\x3c/b\x3e\x3cbr/\x3e'},borderRadius:3,pointRange:0},{type:"xrange",parallelArrays:["x","x2","y"],requireSorting:!1,animate:a.seriesTypes.line.prototype.animate,cropShoulder:1,getExtremesFromAll:!0,autoIncrement:a.noop,buildKDTree:a.noop,getColumnMetrics:function(){function a(){b.series.forEach(function(a){var b=a.xAxis;a.xAxis=a.yAxis;a.yAxis=b})}var c,b=this.chart;a();c=l.prototype.getColumnMetrics.call(this);
536
+ a();return c},cropData:function(a,c,b,d){c=v.prototype.cropData.call(this,this.x2Data,c,b,d);c.xData=a.slice(c.start,c.end);return c},findPointIndex:function(e){var c=this.data,b=this.points,d=e.id,f,g;d&&(g=(f=a.find(c,function(a){return a.id===d}))?f.index:void 0);void 0===g&&(g=(f=a.find(c,function(a){return a.x===e.x&&a.x2===e.x2&&!(b[g]&&b[g].touched)}))?f.index:void 0);this.cropped&&g>=this.cropStart&&(g-=this.cropStart);return g},translatePoint:function(a){var c=this.xAxis,b=this.yAxis,d=this.columnMetrics,
537
+ f=this.options,e=f.minPointLength||0,g=a.plotX,h=x(a.x2,a.x+(a.len||0)),m=c.translate(h,0,0,0,1),h=Math.abs(m-g),k=this.chart.inverted,l=x(f.borderWidth,1)%2/2,p=d.offset,v=Math.round(d.width);e&&(e-=h,0>e&&(e=0),g-=e/2,m+=e/2);g=Math.max(g,-10);m=Math.min(Math.max(m,-10),c.len+10);D(a.options.pointWidth)&&(p-=(Math.ceil(a.options.pointWidth)-v)/2,v=Math.ceil(a.options.pointWidth));f.pointPlacement&&t(a.plotY)&&b.categories&&(a.plotY=b.translate(a.y,0,1,0,1,f.pointPlacement));a.shapeArgs={x:Math.floor(Math.min(g,
538
+ m))+l,y:Math.floor(a.plotY+p)+l,width:Math.round(Math.abs(m-g)),height:v,r:this.options.borderRadius};f=a.shapeArgs.x;e=f+a.shapeArgs.width;0>f||e>c.len?(f=Math.min(c.len,Math.max(0,f)),e=Math.max(0,Math.min(e,c.len)),m=e-f,a.dlBox=w(a.shapeArgs,{x:f,width:e-f,centerX:m?m/2:null})):a.dlBox=null;k?(a.tooltipPos[1]+=h/2*(c.reversed?1:-1),a.tooltipPos[0]+=d.width/2,a.tooltipPos[1]=Math.max(Math.min(a.tooltipPos[1],c.len-1),0),a.tooltipPos[0]=Math.max(Math.min(a.tooltipPos[0],b.len-1),0)):(a.tooltipPos[0]+=
539
+ h/2*(c.reversed?-1:1),a.tooltipPos[1]-=d.width/2,a.tooltipPos[0]=Math.max(Math.min(a.tooltipPos[0],c.len-1),0),a.tooltipPos[1]=Math.max(Math.min(a.tooltipPos[1],b.len-1),0));if(b=a.partialFill)r(b)&&(b=b.amount),t(b)||(b=0),c=a.shapeArgs,a.partShapeArgs={x:c.x,y:c.y,width:c.width,height:c.height,r:this.options.borderRadius},a.clipRectArgs={x:c.x,y:c.y,width:Math.max(Math.round(h*b+(a.plotX-g)),0),height:c.height}},translate:function(){l.prototype.translate.apply(this,arguments);this.points.forEach(function(a){this.translatePoint(a)},
540
+ this)},drawPoint:function(a,c){var b=this.options,d=this.chart.renderer,f=a.graphic,e=a.shapeType,g=a.shapeArgs,h=a.partShapeArgs,m=a.clipRectArgs,k=a.partialFill,l=b.stacking&&!b.borderRadius,p=a.state,t=b.states[p||"normal"]||{},v=void 0===p?"attr":c,p=this.pointAttribs(a,p),t=x(this.chart.options.chart.animation,t.animation);if(a.isNull)f&&(a.graphic=f.destroy());else{if(f)a.graphicOriginal[c](g);else a.graphic=f=d.g("point").addClass(a.getClassName()).add(a.group||this.group),a.graphicOriginal=
541
+ d[e](w(g)).addClass(a.getClassName()).addClass("highcharts-partfill-original").add(f);h&&(a.graphicOverlay?(a.graphicOverlay[c](w(h)),a.clipRect[c](w(m))):(a.clipRect=d.clipRect(m.x,m.y,m.width,m.height),a.graphicOverlay=d[e](h).addClass("highcharts-partfill-overlay").add(f).clip(a.clipRect)));this.chart.styledMode||(a.graphicOriginal[c](p,t).shadow(b.shadow,null,l),h&&(r(k)||(k={}),r(b.partialFill)&&(k=w(k,b.partialFill)),c=k.fill||z(p.fill).brighten(-.3).get()||z(a.color||this.color).brighten(-.3).get(),
542
+ p.fill=c,a.graphicOverlay[v](p,t).shadow(b.shadow,null,l)))}},drawPoints:function(){var a=this,c=a.getAnimationVerb();a.points.forEach(function(b){a.drawPoint(b,c)})},getAnimationVerb:function(){return this.chart.pointCount<(this.options.animationLimit||250)?"animate":"attr"}},{resolveColor:function(){var a,c=this.series;if(c.options.colorByPoint&&!this.options.color){a=c.options.colors||c.chart.options.colors;var b=this.y%(a?a.length:c.chart.options.chart.colorCount);a=a&&a[b];c.chart.styledMode||
543
+ (this.color=a);this.options.colorIndex||(this.colorIndex=b)}else this.color||(this.color=c.color)},init:function(){k.prototype.init.apply(this,arguments);this.y||(this.y=0);return this},setState:function(){k.prototype.setState.apply(this,arguments);this.series.drawPoint(this,this.series.getAnimationVerb())},getLabelConfig:function(){var a=k.prototype.getLabelConfig.call(this),c=this.series.yAxis.categories;a.x2=this.x2;a.yCategory=this.yCategory=c&&c[this.y];return a},tooltipDateKeys:["x","x2"],isValid:function(){return"number"===
544
+ typeof this.x&&"number"===typeof this.x2}});C(h,"afterGetSeriesExtremes",function(){var a=this.series,c,b;this.isXAxis&&(c=x(this.dataMax,-Number.MAX_VALUE),a.forEach(function(a){a.x2Data&&a.x2Data.forEach(function(a){a>c&&(c=a,b=!0)})}),b&&(this.dataMax=c))})});J(H,"parts-gantt/GanttSeries.js",[H["parts/Globals.js"]],function(a){var C=a.dateFormat,D=a.isNumber,z=a.merge,l=a.pick,e=a.seriesType,t=a.seriesTypes.xrange;e("gantt","xrange",{grouping:!1,dataLabels:{enabled:!0},tooltip:{headerFormat:'\x3cspan style\x3d"font-size: 10px"\x3e{series.name}\x3c/span\x3e\x3cbr/\x3e',
545
+ pointFormat:null,pointFormatter:function(){var e=this.series,l=e.chart.tooltip,t=e.xAxis,p=e.tooltipOptions.dateTimeLabelFormats,h=t.options.startOfWeek,k=e.tooltipOptions,v=k.xDateFormat,e=this.options.milestone,g="\x3cb\x3e"+(this.name||this.yCategory)+"\x3c/b\x3e";if(k.pointFormat)return this.tooltipFormatter(k.pointFormat);v||(v=a.splat(l.getDateFormat(t.closestPointRange,this.start,h,p))[0]);l=C(v,this.start);t=C(v,this.end);g+="\x3cbr/\x3e";return e?g+(l+"\x3cbr/\x3e"):g+("Start: "+l+"\x3cbr/\x3e")+
546
+ ("End: "+t+"\x3cbr/\x3e")}},connectors:{type:"simpleConnect",animation:{reversed:!0},startMarker:{enabled:!0,symbol:"arrow-filled",radius:4,fill:"#fa0",align:"left"},endMarker:{enabled:!1,align:"right"}}},{pointArrayMap:["start","end","y"],keyboardMoveVertical:!1,translatePoint:function(a){var e,l;t.prototype.translatePoint.call(this,a);a.options.milestone&&(e=a.shapeArgs,l=e.height,a.shapeArgs={x:e.x-l/2,y:e.y,width:l,height:l})},drawPoint:function(a,e){var l=this.options,p=this.chart.renderer,h=
547
+ a.shapeArgs,k=a.plotY,r=a.graphic,g=a.selected&&"select",c=l.stacking&&!l.borderRadius;if(a.options.milestone)if(D(k)&&null!==a.y){h=p.symbols.diamond(h.x,h.y,h.width,h.height);if(r)r[e]({d:h});else a.graphic=p.path(h).addClass(a.getClassName(),!0).add(a.group||this.group);this.chart.styledMode||a.graphic.attr(this.pointAttribs(a,g)).shadow(l.shadow,null,c)}else r&&(a.graphic=r.destroy());else t.prototype.drawPoint.call(this,a,e)},setData:a.Series.prototype.setData,setGanttPointAliases:function(a){function e(e,
548
+ l){void 0!==l&&(a[e]=l)}e("x",l(a.start,a.x));e("x2",l(a.end,a.x2));e("partialFill",l(a.completed,a.partialFill));e("connect",l(a.dependency,a.connect))}},z(t.prototype.pointClass.prototype,{applyOptions:function(e,l){e=z(e);a.seriesTypes.gantt.prototype.setGanttPointAliases(e);return e=t.prototype.pointClass.prototype.applyOptions.call(this,e,l)},isValid:function(){return("number"===typeof this.start||"number"===typeof this.x)&&("number"===typeof this.end||"number"===typeof this.x2||this.milestone)}}))});
549
+ J(H,"parts-gantt/GanttChart.js",[H["parts/Globals.js"]],function(a){var C=a.merge,D=a.splat,z=a.Chart;a.ganttChart=function(l,e,t){var r="string"===typeof l||l.nodeName,w=e.series,x=a.getOptions(),p,h=e;e=arguments[r?1:0];a.isArray(e.xAxis)||(e.xAxis=[e.xAxis||{},{}]);e.xAxis=e.xAxis.map(function(a,e){1===e&&(p=0);return C(x.xAxis,{grid:{enabled:!0},opposite:!0,linkedTo:p},a,{type:"datetime"})});e.yAxis=D(e.yAxis||{}).map(function(a){return C(x.yAxis,{grid:{enabled:!0},staticScale:50,reversed:!0,
550
+ type:a.categories?a.type:"treegrid"},a)});e.series=null;e=C(!0,{chart:{type:"gantt"},title:{text:null},legend:{enabled:!1}},e,{isGantt:!0});e.series=h.series=w;e.series.forEach(function(e){e.data.forEach(function(e){a.seriesTypes.gantt.prototype.setGanttPointAliases(e)})});return r?new z(l,e,t):new z(e,e)}});J(H,"parts/Scrollbar.js",[H["parts/Globals.js"]],function(a){function C(a,b,d){this.init(a,b,d)}var D=a.addEvent,z=a.Axis,l=a.correctFloat,e=a.defaultOptions,t=a.defined,r=a.destroyObjectProperties,
551
+ w=a.fireEvent,x=a.hasTouch,p=a.merge,h=a.pick,k=a.removeEvent,v,g={height:a.isTouchDevice?20:14,barBorderRadius:0,buttonBorderRadius:0,liveRedraw:void 0,margin:10,minWidth:6,step:.2,zIndex:3,barBackgroundColor:"#cccccc",barBorderWidth:1,barBorderColor:"#cccccc",buttonArrowColor:"#333333",buttonBackgroundColor:"#e6e6e6",buttonBorderColor:"#cccccc",buttonBorderWidth:1,rifleColor:"#333333",trackBackgroundColor:"#f2f2f2",trackBorderColor:"#f2f2f2",trackBorderWidth:1};e.scrollbar=p(!0,g,e.scrollbar);a.swapXY=
552
+ v=function(a,b){var c=a.length,f;if(b)for(b=0;b<c;b+=3)f=a[b+1],a[b+1]=a[b+2],a[b+2]=f;return a};C.prototype={init:function(a,b,d){this.scrollbarButtons=[];this.renderer=a;this.userOptions=b;this.options=p(g,b);this.chart=d;this.size=h(this.options.size,this.options.height);b.enabled&&(this.render(),this.initEvents(),this.addEvents())},render:function(){var a=this.renderer,b=this.options,d=this.size,f=this.chart.styledMode,e;this.group=e=a.g("scrollbar").attr({zIndex:b.zIndex,translateY:-99999}).add();
553
+ this.track=a.rect().addClass("highcharts-scrollbar-track").attr({x:0,r:b.trackBorderRadius||0,height:d,width:d}).add(e);f||this.track.attr({fill:b.trackBackgroundColor,stroke:b.trackBorderColor,"stroke-width":b.trackBorderWidth});this.trackBorderWidth=this.track.strokeWidth();this.track.attr({y:-this.trackBorderWidth%2/2});this.scrollbarGroup=a.g().add(e);this.scrollbar=a.rect().addClass("highcharts-scrollbar-thumb").attr({height:d,width:d,r:b.barBorderRadius||0}).add(this.scrollbarGroup);this.scrollbarRifles=
554
+ a.path(v(["M",-3,d/4,"L",-3,2*d/3,"M",0,d/4,"L",0,2*d/3,"M",3,d/4,"L",3,2*d/3],b.vertical)).addClass("highcharts-scrollbar-rifles").add(this.scrollbarGroup);f||(this.scrollbar.attr({fill:b.barBackgroundColor,stroke:b.barBorderColor,"stroke-width":b.barBorderWidth}),this.scrollbarRifles.attr({stroke:b.rifleColor,"stroke-width":1}));this.scrollbarStrokeWidth=this.scrollbar.strokeWidth();this.scrollbarGroup.translate(-this.scrollbarStrokeWidth%2/2,-this.scrollbarStrokeWidth%2/2);this.drawScrollbarButton(0);
555
+ this.drawScrollbarButton(1)},position:function(a,b,d,f){var c=this.options.vertical,e=0,g=this.rendered?"animate":"attr";this.x=a;this.y=b+this.trackBorderWidth;this.width=d;this.xOffset=this.height=f;this.yOffset=e;c?(this.width=this.yOffset=d=e=this.size,this.xOffset=b=0,this.barWidth=f-2*d,this.x=a+=this.options.margin):(this.height=this.xOffset=f=b=this.size,this.barWidth=d-2*f,this.y+=this.options.margin);this.group[g]({translateX:a,translateY:this.y});this.track[g]({width:d,height:f});this.scrollbarButtons[1][g]({translateX:c?
556
+ 0:d-b,translateY:c?f-e:0})},drawScrollbarButton:function(a){var b=this.renderer,c=this.scrollbarButtons,f=this.options,e=this.size,g;g=b.g().add(this.group);c.push(g);g=b.rect().addClass("highcharts-scrollbar-button").add(g);this.chart.styledMode||g.attr({stroke:f.buttonBorderColor,"stroke-width":f.buttonBorderWidth,fill:f.buttonBackgroundColor});g.attr(g.crisp({x:-.5,y:-.5,width:e+1,height:e+1,r:f.buttonBorderRadius},g.strokeWidth()));g=b.path(v(["M",e/2+(a?-1:1),e/2-3,"L",e/2+(a?-1:1),e/2+3,"L",
557
+ e/2+(a?2:-2),e/2],f.vertical)).addClass("highcharts-scrollbar-arrow").add(c[a]);this.chart.styledMode||g.attr({fill:f.buttonArrowColor})},setRange:function(a,b){var c=this.options,f=c.vertical,e=c.minWidth,g=this.barWidth,h,m,k=!this.rendered||this.hasDragged||this.chart.navigator&&this.chart.navigator.hasDragged?"attr":"animate";t(g)&&(a=Math.max(a,0),h=Math.ceil(g*a),this.calculatedWidth=m=l(g*Math.min(b,1)-h),m<e&&(h=(g-e+m)*a,m=e),e=Math.floor(h+this.xOffset+this.yOffset),g=m/2-.5,this.from=a,
558
+ this.to=b,f?(this.scrollbarGroup[k]({translateY:e}),this.scrollbar[k]({height:m}),this.scrollbarRifles[k]({translateY:g}),this.scrollbarTop=e,this.scrollbarLeft=0):(this.scrollbarGroup[k]({translateX:e}),this.scrollbar[k]({width:m}),this.scrollbarRifles[k]({translateX:g}),this.scrollbarLeft=e,this.scrollbarTop=0),12>=m?this.scrollbarRifles.hide():this.scrollbarRifles.show(!0),!1===c.showFull&&(0>=a&&1<=b?this.group.hide():this.group.show()),this.rendered=!0)},initEvents:function(){var a=this;a.mouseMoveHandler=
559
+ function(b){var c=a.chart.pointer.normalize(b),f=a.options.vertical?"chartY":"chartX",e=a.initPositions;!a.grabbedCenter||b.touches&&0===b.touches[0][f]||(c=a.cursorToScrollbarPosition(c)[f],f=a[f],f=c-f,a.hasDragged=!0,a.updatePosition(e[0]+f,e[1]+f),a.hasDragged&&w(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMType:b.type,DOMEvent:b}))};a.mouseUpHandler=function(b){a.hasDragged&&w(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMType:b.type,DOMEvent:b});a.grabbedCenter=a.hasDragged=
560
+ a.chartX=a.chartY=null};a.mouseDownHandler=function(b){b=a.chart.pointer.normalize(b);b=a.cursorToScrollbarPosition(b);a.chartX=b.chartX;a.chartY=b.chartY;a.initPositions=[a.from,a.to];a.grabbedCenter=!0};a.buttonToMinClick=function(b){var c=l(a.to-a.from)*a.options.step;a.updatePosition(l(a.from-c),l(a.to-c));w(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMEvent:b})};a.buttonToMaxClick=function(b){var c=(a.to-a.from)*a.options.step;a.updatePosition(a.from+c,a.to+c);w(a,"changed",{from:a.from,
561
+ to:a.to,trigger:"scrollbar",DOMEvent:b})};a.trackClick=function(b){var c=a.chart.pointer.normalize(b),f=a.to-a.from,e=a.y+a.scrollbarTop,g=a.x+a.scrollbarLeft;a.options.vertical&&c.chartY>e||!a.options.vertical&&c.chartX>g?a.updatePosition(a.from+f,a.to+f):a.updatePosition(a.from-f,a.to-f);w(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMEvent:b})}},cursorToScrollbarPosition:function(a){var b=this.options,b=b.minWidth>this.calculatedWidth?b.minWidth:0;return{chartX:(a.chartX-this.x-this.xOffset)/
562
+ (this.barWidth-b),chartY:(a.chartY-this.y-this.yOffset)/(this.barWidth-b)}},updatePosition:function(a,b){1<b&&(a=l(1-l(b-a)),b=1);0>a&&(b=l(b-a),a=0);this.from=a;this.to=b},update:function(a){this.destroy();this.init(this.chart.renderer,p(!0,this.options,a),this.chart)},addEvents:function(){var a=this.options.inverted?[1,0]:[0,1],b=this.scrollbarButtons,d=this.scrollbarGroup.element,f=this.mouseDownHandler,e=this.mouseMoveHandler,g=this.mouseUpHandler,a=[[b[a[0]].element,"click",this.buttonToMinClick],
563
+ [b[a[1]].element,"click",this.buttonToMaxClick],[this.track.element,"click",this.trackClick],[d,"mousedown",f],[d.ownerDocument,"mousemove",e],[d.ownerDocument,"mouseup",g]];x&&a.push([d,"touchstart",f],[d.ownerDocument,"touchmove",e],[d.ownerDocument,"touchend",g]);a.forEach(function(a){D.apply(null,a)});this._events=a},removeEvents:function(){this._events.forEach(function(a){k.apply(null,a)});this._events.length=0},destroy:function(){var a=this.chart.scroller;this.removeEvents();["track","scrollbarRifles",
564
+ "scrollbar","scrollbarGroup","group"].forEach(function(a){this[a]&&this[a].destroy&&(this[a]=this[a].destroy())},this);a&&this===a.scrollbar&&(a.scrollbar=null,r(a.scrollbarButtons))}};a.Scrollbar||(D(z,"afterInit",function(){var c=this;c.options&&c.options.scrollbar&&c.options.scrollbar.enabled&&(c.options.scrollbar.vertical=!c.horiz,c.options.startOnTick=c.options.endOnTick=!1,c.scrollbar=new C(c.chart.renderer,c.options.scrollbar,c.chart),D(c.scrollbar,"changed",function(b){var d=Math.min(h(c.options.min,
565
+ c.min),c.min,c.dataMin),e=Math.max(h(c.options.max,c.max),c.max,c.dataMax)-d,g;c.horiz&&!c.reversed||!c.horiz&&c.reversed?(g=d+e*this.to,d+=e*this.from):(g=d+e*(1-this.from),d+=e*(1-this.to));h(this.options.liveRedraw,a.svg&&!a.isTouchDevice&&!this.chart.isBoosting)||"mouseup"===b.DOMType||!t(b.DOMType)?c.setExtremes(d,g,!0,"mousemove"!==b.DOMType,b):this.setRange(this.from,this.to)}))}),D(z,"afterRender",function(){var a=Math.min(h(this.options.min,this.min),this.min,h(this.dataMin,this.min)),b=
566
+ Math.max(h(this.options.max,this.max),this.max,h(this.dataMax,this.max)),d=this.scrollbar,e=this.axisTitleMargin+(this.titleOffset||0),g=this.chart.scrollbarsOffsets,k=this.options.margin||0;d&&(this.horiz?(this.opposite||(g[1]+=e),d.position(this.left,this.top+this.height+2+g[1]-(this.opposite?k:0),this.width,this.height),this.opposite||(g[1]+=k),e=1):(this.opposite&&(g[0]+=e),d.position(this.left+this.width+2+g[0]-(this.opposite?0:k),this.top,this.width,this.height),this.opposite&&(g[0]+=k),e=0),
567
+ g[e]+=d.size+d.options.margin,isNaN(a)||isNaN(b)||!t(this.min)||!t(this.max)||this.min===this.max?d.setRange(0,1):(g=(this.min-a)/(b-a),a=(this.max-a)/(b-a),this.horiz&&!this.reversed||!this.horiz&&this.reversed?d.setRange(g,a):d.setRange(1-a,1-g)))}),D(z,"afterGetOffset",function(){var a=this.horiz?2:1,b=this.scrollbar;b&&(this.chart.scrollbarsOffsets=[0,0],this.chart.axisOffset[a]+=b.size+b.options.margin)}),a.Scrollbar=C)});J(H,"parts/RangeSelector.js",[H["parts/Globals.js"]],function(a){function C(a){this.init(a)}
568
+ var D=a.addEvent,z=a.Axis,l=a.Chart,e=a.css,t=a.createElement,r=a.defaultOptions,w=a.defined,x=a.destroyObjectProperties,p=a.discardElement,h=a.extend,k=a.fireEvent,v=a.isNumber,g=a.merge,c=a.pick,b=a.pInt,d=a.splat;h(r,{rangeSelector:{verticalAlign:"top",buttonTheme:{width:28,height:18,padding:2,zIndex:7},floating:!1,x:0,y:0,height:void 0,inputPosition:{align:"right",x:0,y:0},buttonPosition:{align:"left",x:0,y:0},labelStyle:{color:"#666666"}}});r.lang=g(r.lang,{rangeSelectorZoom:"Zoom",rangeSelectorFrom:"From",
569
+ rangeSelectorTo:"To"});C.prototype={clickButton:function(a,b){var e=this.chart,f=this.buttonOptions[a],g=e.xAxis[0],h=e.scroller&&e.scroller.getUnionExtremes()||g||{},k=h.dataMin,l=h.dataMax,p,r=g&&Math.round(Math.min(g.max,c(l,g.max))),q=f.type,t,h=f._range,y,w,x,C=f.dataGrouping;if(null!==k&&null!==l){e.fixedRange=h;C&&(this.forcedDataGrouping=!0,z.prototype.setDataGrouping.call(g||{chart:this.chart},C,!1),this.frozenStates=f.preserveDataGrouping);if("month"===q||"year"===q)g?(q={range:f,max:r,
570
+ chart:e,dataMin:k,dataMax:l},p=g.minFromRange.call(q),v(q.newMax)&&(r=q.newMax)):h=f;else if(h)p=Math.max(r-h,k),r=Math.min(p+h,l);else if("ytd"===q)if(g)void 0===l&&(k=Number.MAX_VALUE,l=Number.MIN_VALUE,e.series.forEach(function(a){a=a.xData;k=Math.min(a[0],k);l=Math.max(a[a.length-1],l)}),b=!1),r=this.getYTDExtremes(l,k,e.time.useUTC),p=y=r.min,r=r.max;else{this.deferredYTDClick=a;return}else"all"===q&&g&&(p=k,r=l);p+=f._offsetMin;r+=f._offsetMax;this.setSelected(a);g?g.setExtremes(p,r,c(b,1),
571
+ null,{trigger:"rangeSelectorButton",rangeSelectorButton:f}):(t=d(e.options.xAxis)[0],x=t.range,t.range=h,w=t.min,t.min=y,D(e,"load",function(){t.range=x;t.min=w}))}},setSelected:function(a){this.selected=this.options.selected=a},defaultButtons:[{type:"month",count:1,text:"1m"},{type:"month",count:3,text:"3m"},{type:"month",count:6,text:"6m"},{type:"ytd",text:"YTD"},{type:"year",count:1,text:"1y"},{type:"all",text:"All"}],init:function(a){var b=this,c=a.options.rangeSelector,d=c.buttons||[].concat(b.defaultButtons),
572
+ e=c.selected,f=function(){var a=b.minInput,c=b.maxInput;a&&a.blur&&k(a,"blur");c&&c.blur&&k(c,"blur")};b.chart=a;b.options=c;b.buttons=[];b.buttonOptions=d;this.unMouseDown=D(a.container,"mousedown",f);this.unResize=D(a,"resize",f);d.forEach(b.computeButtonRange);void 0!==e&&d[e]&&this.clickButton(e,!1);D(a,"load",function(){a.xAxis&&a.xAxis[0]&&D(a.xAxis[0],"setExtremes",function(c){this.max-this.min!==a.fixedRange&&"rangeSelectorButton"!==c.trigger&&"updatedData"!==c.trigger&&b.forcedDataGrouping&&
573
+ !b.frozenStates&&this.setDataGrouping(!1,!1)})})},updateButtonStates:function(){var a=this,b=this.chart,c=b.xAxis[0],d=Math.round(c.max-c.min),e=!c.hasVisibleSeries,g=b.scroller&&b.scroller.getUnionExtremes()||c,h=g.dataMin,k=g.dataMax,b=a.getYTDExtremes(k,h,b.time.useUTC),l=b.min,p=b.max,q=a.selected,r=v(q),t=a.options.allButtonsEnabled,w=a.buttons;a.buttonOptions.forEach(function(b,f){var g=b._range,m=b.type,n=b.count||1,u=w[f],B=0,v=b._offsetMax-b._offsetMin;b=f===q;var y=g>k-h,A=g<c.minRange,
574
+ x=!1,E=!1,g=g===d;("month"===m||"year"===m)&&d+36E5>=864E5*{month:28,year:365}[m]*n-v&&d-36E5<=864E5*{month:31,year:366}[m]*n+v?g=!0:"ytd"===m?(g=p-l+v===d,x=!b):"all"===m&&(g=c.max-c.min>=k-h,E=!b&&r&&g);m=!t&&(y||A||E||e);n=b&&g||g&&!r&&!x||b&&a.frozenStates;m?B=3:n&&(r=!0,B=2);u.state!==B&&(u.setState(B),0===B&&q===f&&a.setSelected(null))})},computeButtonRange:function(a){var b=a.type,d=a.count||1,e={millisecond:1,second:1E3,minute:6E4,hour:36E5,day:864E5,week:6048E5};if(e[b])a._range=e[b]*d;else if("month"===
575
+ b||"year"===b)a._range=864E5*{month:30,year:365}[b]*d;a._offsetMin=c(a.offsetMin,0);a._offsetMax=c(a.offsetMax,0);a._range+=a._offsetMax-a._offsetMin},setInputValue:function(a,b){var c=this.chart.options.rangeSelector,d=this.chart.time,e=this[a+"Input"];w(b)&&(e.previousValue=e.HCTime,e.HCTime=b);e.value=d.dateFormat(c.inputEditDateFormat||"%Y-%m-%d",e.HCTime);this[a+"DateBox"].attr({text:d.dateFormat(c.inputDateFormat||"%b %e, %Y",e.HCTime)})},showInput:function(a){var b=this.inputGroup,c=this[a+
576
+ "DateBox"];e(this[a+"Input"],{left:b.translateX+c.x+"px",top:b.translateY+"px",width:c.width-2+"px",height:c.height-2+"px",border:"2px solid silver"})},hideInput:function(a){e(this[a+"Input"],{border:0,width:"1px",height:"1px"});this.setInputValue(a)},drawInput:function(c){function d(){var a=A.value,c=(l.inputDateParser||Date.parse)(a),d=k.xAxis[0],e=k.scroller&&k.scroller.xAxis?k.scroller.xAxis:d,g=e.dataMin,e=e.dataMax;c!==A.previousValue&&(A.previousValue=c,v(c)||(c=a.split("-"),c=Date.UTC(b(c[0]),
577
+ b(c[1])-1,b(c[2]))),v(c)&&(k.time.useUTC||(c+=6E4*(new Date).getTimezoneOffset()),w?c>f.maxInput.HCTime?c=void 0:c<g&&(c=g):c<f.minInput.HCTime?c=void 0:c>e&&(c=e),void 0!==c&&d.setExtremes(w?c:d.min,w?d.max:c,void 0,void 0,{trigger:"rangeSelectorInput"})))}var f=this,k=f.chart,m=k.renderer.style||{},n=k.renderer,l=k.options.rangeSelector,p=f.div,w="min"===c,A,q,x=this.inputGroup;this[c+"Label"]=q=n.label(r.lang[w?"rangeSelectorFrom":"rangeSelectorTo"],this.inputGroup.offset).addClass("highcharts-range-label").attr({padding:2}).add(x);
578
+ x.offset+=q.width+5;this[c+"DateBox"]=n=n.label("",x.offset).addClass("highcharts-range-input").attr({padding:2,width:l.inputBoxWidth||90,height:l.inputBoxHeight||17,"text-align":"center"}).on("click",function(){f.showInput(c);f[c+"Input"].focus()});k.styledMode||n.attr({stroke:l.inputBoxBorderColor||"#cccccc","stroke-width":1});n.add(x);x.offset+=n.width+(w?10:0);this[c+"Input"]=A=t("input",{name:c,className:"highcharts-range-selector",type:"text"},{top:k.plotTop+"px"},p);k.styledMode||(q.css(g(m,
579
+ l.labelStyle)),n.css(g({color:"#333333"},m,l.inputStyle)),e(A,h({position:"absolute",border:0,width:"1px",height:"1px",padding:0,textAlign:"center",fontSize:m.fontSize,fontFamily:m.fontFamily,top:"-9999em"},l.inputStyle)));A.onfocus=function(){f.showInput(c)};A.onblur=function(){A===a.doc.activeElement&&d();f.hideInput(c);A.blur()};A.onchange=d;A.onkeypress=function(a){13===a.keyCode&&d()}},getPosition:function(){var a=this.chart,b=a.options.rangeSelector,a="top"===b.verticalAlign?a.plotTop-a.axisOffset[0]:
580
+ 0;return{buttonTop:a+b.buttonPosition.y,inputTop:a+b.inputPosition.y-10}},getYTDExtremes:function(a,b,c){var d=this.chart.time,e=new d.Date(a),f=d.get("FullYear",e);c=c?d.Date.UTC(f,0,1):+new d.Date(f,0,1);b=Math.max(b||0,c);e=e.getTime();return{max:Math.min(a||e,e),min:b}},render:function(a,b){var d=this,e=d.chart,f=e.renderer,g=e.container,h=e.options,k=h.exporting&&!1!==h.exporting.enabled&&h.navigation&&h.navigation.buttonOptions,l=r.lang,p=d.div,q=h.rangeSelector,v=c(h.chart.style&&h.chart.style.zIndex,
581
+ 0)+1,h=q.floating,w=d.buttons,p=d.inputGroup,x=q.buttonTheme,y=q.buttonPosition,z=q.inputPosition,D=q.inputEnabled,C=x&&x.states,H=e.plotLeft,J,M=d.buttonGroup,T;T=d.rendered;var P=d.options.verticalAlign,W=e.legend,ca=W&&W.options,U=y.y,S=z.y,X=T||!1,Y=X?"animate":"attr",V=0,aa=0,Z;if(!1!==q.enabled){T||(d.group=T=f.g("range-selector-group").attr({zIndex:7}).add(),d.buttonGroup=M=f.g("range-selector-buttons").add(T),d.zoomText=f.text(l.rangeSelectorZoom,0,15).add(M),e.styledMode||(d.zoomText.css(q.labelStyle),
582
+ x["stroke-width"]=c(x["stroke-width"],0)),d.buttonOptions.forEach(function(a,b){w[b]=f.button(a.text,0,0,function(c){var e=a.events&&a.events.click,f;e&&(f=e.call(a,c));!1!==f&&d.clickButton(b);d.isActive=!0},x,C&&C.hover,C&&C.select,C&&C.disabled).attr({"text-align":"center"}).add(M)}),!1!==D&&(d.div=p=t("div",null,{position:"relative",height:0,zIndex:v}),g.parentNode.insertBefore(p,g),d.inputGroup=p=f.g("input-group").add(T),p.offset=0,d.drawInput("min"),d.drawInput("max")));d.zoomText[Y]({x:c(H+
583
+ y.x,H)});J=c(H+y.x,H)+d.zoomText.getBBox().width+5;d.buttonOptions.forEach(function(a,b){w[b][Y]({x:J});J+=w[b].width+c(q.buttonSpacing,5)});H=e.plotLeft-e.spacing[3];d.updateButtonStates();k&&this.titleCollision(e)&&"top"===P&&"right"===y.align&&y.y+M.getBBox().height-12<(k.y||0)+k.height&&(V=-40);"left"===y.align?Z=y.x-e.spacing[3]:"right"===y.align&&(Z=y.x+V-e.spacing[1]);M.align({y:y.y,width:M.getBBox().width,align:y.align,x:Z},!0,e.spacingBox);d.group.placed=X;d.buttonGroup.placed=X;!1!==D&&
584
+ (V=k&&this.titleCollision(e)&&"top"===P&&"right"===z.align&&z.y-p.getBBox().height-12<(k.y||0)+k.height+e.spacing[0]?-40:0,"left"===z.align?Z=H:"right"===z.align&&(Z=-Math.max(e.axisOffset[1],-V)),p.align({y:z.y,width:p.getBBox().width,align:z.align,x:z.x+Z-2},!0,e.spacingBox),g=p.alignAttr.translateX+p.alignOptions.x-V+p.getBBox().x+2,k=p.alignOptions.width,l=M.alignAttr.translateX+M.getBBox().x,Z=M.getBBox().width+20,(z.align===y.align||l+Z>g&&g+k>l&&U<S+p.getBBox().height)&&p.attr({translateX:p.alignAttr.translateX+
585
+ (e.axisOffset[1]>=-V?0:-V),translateY:p.alignAttr.translateY+M.getBBox().height+10}),d.setInputValue("min",a),d.setInputValue("max",b),d.inputGroup.placed=X);d.group.align({verticalAlign:P},!0,e.spacingBox);a=d.group.getBBox().height+20;b=d.group.alignAttr.translateY;"bottom"===P&&(W=ca&&"bottom"===ca.verticalAlign&&ca.enabled&&!ca.floating?W.legendHeight+c(ca.margin,10):0,a=a+W-20,aa=b-a-(h?0:q.y)-10);if("top"===P)h&&(aa=0),e.titleOffset&&(aa=e.titleOffset+e.options.title.margin),aa+=e.margin[0]-
586
+ e.spacing[0]||0;else if("middle"===P)if(S===U)aa=0>S?b+void 0:b;else if(S||U)aa=0>S||0>U?aa-Math.min(S,U):b-a+NaN;d.group.translate(q.x,q.y+Math.floor(aa));!1!==D&&(d.minInput.style.marginTop=d.group.translateY+"px",d.maxInput.style.marginTop=d.group.translateY+"px");d.rendered=!0}},getHeight:function(){var a=this.options,b=this.group,c=a.y,d=a.buttonPosition.y,e=a.inputPosition.y;if(a.height)return a.height;a=b?b.getBBox(!0).height+13+c:0;b=Math.min(e,d);if(0>e&&0>d||0<e&&0<d)a+=Math.abs(b);return a},
587
+ titleCollision:function(a){return!(a.options.title.text||a.options.subtitle.text)},update:function(a){var b=this.chart;g(!0,b.options.rangeSelector,a);this.destroy();this.init(b);b.rangeSelector.render()},destroy:function(){var b=this,c=b.minInput,d=b.maxInput;b.unMouseDown();b.unResize();x(b.buttons);c&&(c.onfocus=c.onblur=c.onchange=null);d&&(d.onfocus=d.onblur=d.onchange=null);a.objectEach(b,function(a,c){a&&"chart"!==c&&(a.destroy?a.destroy():a.nodeType&&p(this[c]));a!==C.prototype[c]&&(b[c]=
588
+ null)},this)}};z.prototype.minFromRange=function(){var a=this.range,b={month:"Month",year:"FullYear"}[a.type],d,e=this.max,g,h,k=this.chart.time,l=function(a,c){var d=new k.Date(a),e=k.get(b,d);k.set(b,d,e+c);e===k.get(b,d)&&k.set("Date",d,0);return d.getTime()-a};v(a)?(d=e-a,h=a):(d=e+l(e,-a.count),this.chart&&(this.chart.fixedRange=e-d));g=c(this.dataMin,Number.MIN_VALUE);v(d)||(d=g);d<=g&&(d=g,void 0===h&&(h=l(d,a.count)),this.newMax=Math.min(d+h,this.dataMax));v(e)||(d=void 0);return d};a.RangeSelector||
589
+ (D(l,"afterGetContainer",function(){this.options.rangeSelector.enabled&&(this.rangeSelector=new C(this))}),D(l,"beforeRender",function(){var a=this.axes,b=this.rangeSelector;b&&(v(b.deferredYTDClick)&&(b.clickButton(b.deferredYTDClick),delete b.deferredYTDClick),a.forEach(function(a){a.updateNames();a.setScale()}),this.getAxisMargins(),b.render(),a=b.options.verticalAlign,b.options.floating||("bottom"===a?this.extraBottomMargin=!0:"middle"!==a&&(this.extraTopMargin=!0)))}),D(l,"update",function(a){var b=
590
+ a.options.rangeSelector;a=this.rangeSelector;var c=this.extraBottomMargin,d=this.extraTopMargin;b&&b.enabled&&!w(a)&&(this.options.rangeSelector.enabled=!0,this.rangeSelector=new C(this));this.extraTopMargin=this.extraBottomMargin=!1;a&&(a.render(),b=b&&b.verticalAlign||a.options&&a.options.verticalAlign,a.options.floating||("bottom"===b?this.extraBottomMargin=!0:"middle"!==b&&(this.extraTopMargin=!0)),this.extraBottomMargin!==c||this.extraTopMargin!==d)&&(this.isDirtyBox=!0)}),D(l,"render",function(){var a=
591
+ this.rangeSelector;a&&!a.options.floating&&(a.render(),a=a.options.verticalAlign,"bottom"===a?this.extraBottomMargin=!0:"middle"!==a&&(this.extraTopMargin=!0))}),D(l,"getMargins",function(){var a=this.rangeSelector;a&&(a=a.getHeight(),this.extraTopMargin&&(this.plotTop+=a),this.extraBottomMargin&&(this.marginBottom+=a))}),l.prototype.callbacks.push(function(a){function b(){c=a.xAxis[0].getExtremes();v(c.min)&&d.render(c.min,c.max)}var c,d=a.rangeSelector,e,f;d&&(f=D(a.xAxis[0],"afterSetExtremes",
592
+ function(a){d.render(a.min,a.max)}),e=D(a,"redraw",b),b());D(a,"destroy",function(){d&&(e(),f())})}),a.RangeSelector=C)});J(H,"parts/Navigator.js",[H["parts/Globals.js"]],function(a){function C(a){this.init(a)}var D=a.addEvent,z=a.Axis,l=a.Chart,e=a.color,t=a.defaultOptions,r=a.defined,w=a.destroyObjectProperties,x=a.erase,p=a.extend,h=a.hasTouch,k=a.isArray,v=a.isNumber,g=a.isTouchDevice,c=a.merge,b=a.pick,d=a.removeEvent,f=a.Scrollbar,y=a.Series,u,F=function(a){var b=[].filter.call(arguments,v);
593
+ if(b.length)return Math[a].apply(0,b)};u=void 0===a.seriesTypes.areaspline?"line":"areaspline";p(t,{navigator:{height:40,margin:25,maskInside:!0,handles:{width:7,height:15,symbols:["navigator-handle","navigator-handle"],enabled:!0,lineWidth:1,backgroundColor:"#f2f2f2",borderColor:"#999999"},maskFill:e("#6685c2").setOpacity(.3).get(),outlineColor:"#cccccc",outlineWidth:1,series:{type:u,fillOpacity:.05,lineWidth:1,compare:null,dataGrouping:{approximation:"average",enabled:!0,groupPixelWidth:2,smoothed:!0,
586
594
  units:[["millisecond",[1,2,5,10,20,25,50,100,200,500]],["second",[1,2,5,10,15,30]],["minute",[1,2,5,10,15,30]],["hour",[1,2,3,4,6,8,12]],["day",[1,2,3,4]],["week",[1,2,3]],["month",[1,3,6]],["year",null]]},dataLabels:{enabled:!1,zIndex:2},id:"highcharts-navigator-series",className:"highcharts-navigator-series",lineColor:null,marker:{enabled:!1},pointRange:0,threshold:null},xAxis:{overscroll:0,className:"highcharts-navigator-xaxis",tickLength:0,lineWidth:0,gridLineColor:"#e6e6e6",gridLineWidth:1,tickPixelInterval:200,
587
- labels:{align:"left",style:{color:"#999999"},x:3,y:-4},crosshair:!1},yAxis:{className:"highcharts-navigator-yaxis",gridLineWidth:0,startOnTick:!1,endOnTick:!1,minPadding:.1,maxPadding:.1,labels:{enabled:!1},crosshair:!1,title:{text:null},tickLength:0,tickWidth:0}}});a.Renderer.prototype.symbols["navigator-handle"]=function(a,b,c,d,e){a=e.width/2;b=Math.round(a/3)+.5;e=e.height;return["M",-a-1,.5,"L",a,.5,"L",a,e+.5,"L",-a-1,e+.5,"L",-a-1,.5,"M",-b,4,"L",-b,e-3,"M",b-1,4,"L",b-1,e-3]};C.prototype.toFixedRange=
588
- function(a,b,d,e){var g=this.chart&&this.chart.fixedRange;a=c(d,this.translate(a,!0,!this.horiz));b=c(e,this.translate(b,!0,!this.horiz));d=g&&(b-a)/g;.7<d&&1.3>d&&(e?a=b-g:b=a+g);f(a)&&f(b)||(a=b=void 0);return{min:a,max:b}};B.prototype={drawHandle:function(a,b,c,d){var e=this.navigatorOptions.handles.height;this.handles[b][d](c?{translateX:Math.round(this.left+this.height/2),translateY:Math.round(this.top+parseInt(a,10)+.5-e)}:{translateX:Math.round(this.left+parseInt(a,10)),translateY:Math.round(this.top+
589
- this.height/2-e/2-1)})},drawOutline:function(a,b,c,d){var e=this.navigatorOptions.maskInside,f=this.outline.strokeWidth(),g=f/2,f=f%2/2,m=this.outlineHeight,h=this.scrollbarHeight,l=this.size,p=this.left-h,n=this.top;c?(p-=g,c=n+b+f,b=n+a+f,a=["M",p+m,n-h-f,"L",p+m,c,"L",p,c,"L",p,b,"L",p+m,b,"L",p+m,n+l+h].concat(e?["M",p+m,c-g,"L",p+m,b+g]:[])):(a+=p+h-f,b+=p+h-f,n+=g,a=["M",p,n,"L",a,n,"L",a,n+m,"L",b,n+m,"L",b,n,"L",p+l+2*h,n].concat(e?["M",a-g,n,"L",b+g,n]:[]));this.outline[d]({d:a})},drawMasks:function(a,
590
- b,c,d){var e=this.left,f=this.top,g=this.height,m,h,l,p;c?(l=[e,e,e],p=[f,f+a,f+b],h=[g,g,g],m=[a,b-a,this.size-b]):(l=[e,e+a,e+b],p=[f,f,f],h=[a,b-a,this.size-b],m=[g,g,g]);this.shades.forEach(function(a,b){a[d]({x:l[b],y:p[b],width:h[b],height:m[b]})})},renderElements:function(){var a=this,b=a.navigatorOptions,c=b.maskInside,d=a.chart,e=d.renderer,f,g={cursor:d.inverted?"ns-resize":"ew-resize"};a.navigatorGroup=f=e.g("navigator").attr({zIndex:8,visibility:"hidden"}).add();[!c,c,!c].forEach(function(c,
591
- m){a.shades[m]=e.rect().addClass("highcharts-navigator-mask"+(1===m?"-inside":"-outside")).add(f);d.styledMode||a.shades[m].attr({fill:c?b.maskFill:"rgba(0,0,0,0)"}).css(1===m&&g)});a.outline=e.path().addClass("highcharts-navigator-outline").add(f);d.styledMode||a.outline.attr({"stroke-width":b.outlineWidth,stroke:b.outlineColor});b.handles.enabled&&[0,1].forEach(function(c){b.handles.inverted=d.inverted;a.handles[c]=e.symbol(b.handles.symbols[c],-b.handles.width/2-1,0,b.handles.width,b.handles.height,
592
- b.handles);a.handles[c].attr({zIndex:7-c}).addClass("highcharts-navigator-handle highcharts-navigator-handle-"+["left","right"][c]).add(f);if(!d.styledMode){var m=b.handles;a.handles[c].attr({fill:m.backgroundColor,stroke:m.borderColor,"stroke-width":m.lineWidth}).css(g)}})},update:function(a){(this.series||[]).forEach(function(a){a.baseSeries&&delete a.baseSeries.navigatorSeries});this.destroy();b(!0,this.chart.options.navigator,this.options,a);this.init(this.chart)},render:function(b,d,e,g){var m=
593
- this.chart,h,k,l=this.scrollbarHeight,p,n=this.xAxis;h=n.fake?m.xAxis[0]:n;var q=this.navigatorEnabled,r,u=this.rendered;k=m.inverted;var v,w=m.xAxis[0].minRange,x=m.xAxis[0].options.maxRange;if(!this.hasDragged||t(e)){if(!f(b)||!f(d))if(u)e=0,g=c(n.width,h.width);else return;this.left=c(n.left,m.plotLeft+l+(k?m.plotWidth:0));this.size=r=p=c(n.len,(k?m.plotHeight:m.plotWidth)-2*l);m=k?l:p+2*l;e=c(e,n.toPixels(b,!0));g=c(g,n.toPixels(d,!0));f(e)&&Infinity!==Math.abs(e)||(e=0,g=m);b=n.toValue(e,!0);
594
- d=n.toValue(g,!0);v=Math.abs(a.correctFloat(d-b));v<w?this.grabbedLeft?e=n.toPixels(d-w,!0):this.grabbedRight&&(g=n.toPixels(b+w,!0)):t(x)&&v>x&&(this.grabbedLeft?e=n.toPixels(d-x,!0):this.grabbedRight&&(g=n.toPixels(b+x,!0)));this.zoomedMax=Math.min(Math.max(e,g,0),r);this.zoomedMin=Math.min(Math.max(this.fixedWidth?this.zoomedMax-this.fixedWidth:Math.min(e,g),0),r);this.range=this.zoomedMax-this.zoomedMin;r=Math.round(this.zoomedMax);e=Math.round(this.zoomedMin);q&&(this.navigatorGroup.attr({visibility:"visible"}),
595
- u=u&&!this.hasDragged?"animate":"attr",this.drawMasks(e,r,k,u),this.drawOutline(e,r,k,u),this.navigatorOptions.handles.enabled&&(this.drawHandle(e,0,k,u),this.drawHandle(r,1,k,u)));this.scrollbar&&(k?(k=this.top-l,h=this.left-l+(q||!h.opposite?0:(h.titleOffset||0)+h.axisTitleMargin),l=p+2*l):(k=this.top+(q?this.height:-l),h=this.left-l),this.scrollbar.position(h,k,m,l),this.scrollbar.setRange(this.zoomedMin/(p||1),this.zoomedMax/(p||1)));this.rendered=!0}},addMouseEvents:function(){var a=this,b=a.chart,
596
- c=b.container,d=[],e,f;a.mouseMoveHandler=e=function(b){a.onMouseMove(b)};a.mouseUpHandler=f=function(b){a.onMouseUp(b)};d=a.getPartsEvents("mousedown");d.push(y(c,"mousemove",e),y(c.ownerDocument,"mouseup",f));l&&(d.push(y(c,"touchmove",e),y(c.ownerDocument,"touchend",f)),d.concat(a.getPartsEvents("touchstart")));a.eventsToUnbind=d;a.series&&a.series[0]&&d.push(y(a.series[0].xAxis,"foundExtremes",function(){b.navigator.modifyNavigatorAxisExtremes()}))},getPartsEvents:function(a){var b=this,c=[];
597
- ["shades","handles"].forEach(function(d){b[d].forEach(function(e,f){c.push(y(e.element,a,function(a){b[d+"Mousedown"](a,f)}))})});return c},shadesMousedown:function(a,b){a=this.chart.pointer.normalize(a);var c=this.chart,d=this.xAxis,e=this.zoomedMin,f=this.left,g=this.size,h=this.range,m=a.chartX,l,p;c.inverted&&(m=a.chartY,f=this.top);1===b?(this.grabbedCenter=m,this.fixedWidth=h,this.dragOffset=m-e):(a=m-f-h/2,0===b?a=Math.max(0,a):2===b&&a+h>=g&&(a=g-h,this.reversedExtremes?(a-=h,p=this.getUnionExtremes().dataMin):
598
- l=this.getUnionExtremes().dataMax),a!==e&&(this.fixedWidth=h,b=d.toFixedRange(a,a+h,p,l),t(b.min)&&c.xAxis[0].setExtremes(Math.min(b.min,b.max),Math.max(b.min,b.max),!0,null,{trigger:"navigator"})))},handlesMousedown:function(a,b){this.chart.pointer.normalize(a);a=this.chart;var c=a.xAxis[0],d=this.reversedExtremes;0===b?(this.grabbedLeft=!0,this.otherHandlePos=this.zoomedMax,this.fixedExtreme=d?c.min:c.max):(this.grabbedRight=!0,this.otherHandlePos=this.zoomedMin,this.fixedExtreme=d?c.max:c.min);
599
- a.fixedRange=null},onMouseMove:function(b){var e=this,f=e.chart,g=e.left,h=e.navigatorSize,m=e.range,k=e.dragOffset,l=f.inverted;b.touches&&0===b.touches[0].pageX||(b=f.pointer.normalize(b),f=b.chartX,l&&(g=e.top,f=b.chartY),e.grabbedLeft?(e.hasDragged=!0,e.render(0,0,f-g,e.otherHandlePos)):e.grabbedRight?(e.hasDragged=!0,e.render(0,0,e.otherHandlePos,f-g)):e.grabbedCenter&&(e.hasDragged=!0,f<k?f=k:f>h+k-m&&(f=h+k-m),e.render(0,0,f-k,f-k+m)),e.hasDragged&&e.scrollbar&&c(e.scrollbar.options.liveRedraw,
600
- a.svg&&!d&&!this.chart.isBoosting)&&(b.DOMType=b.type,setTimeout(function(){e.onMouseUp(b)},0)))},onMouseUp:function(a){var b=this.chart,c=this.xAxis,d=this.scrollbar,e,f,g=a.DOMEvent||a;(!this.hasDragged||d&&d.hasDragged)&&"scrollbar"!==a.trigger||(d=this.getUnionExtremes(),this.zoomedMin===this.otherHandlePos?e=this.fixedExtreme:this.zoomedMax===this.otherHandlePos&&(f=this.fixedExtreme),this.zoomedMax===this.size&&(f=this.reversedExtremes?d.dataMin:d.dataMax),0===this.zoomedMin&&(e=this.reversedExtremes?
601
- d.dataMax:d.dataMin),c=c.toFixedRange(this.zoomedMin,this.zoomedMax,e,f),t(c.min)&&b.xAxis[0].setExtremes(Math.min(c.min,c.max),Math.max(c.min,c.max),!0,this.hasDragged?!1:null,{trigger:"navigator",triggerOp:"navigator-drag",DOMEvent:g}));"mousemove"!==a.DOMType&&(this.grabbedLeft=this.grabbedRight=this.grabbedCenter=this.fixedWidth=this.fixedExtreme=this.otherHandlePos=this.hasDragged=this.dragOffset=null)},removeEvents:function(){this.eventsToUnbind&&(this.eventsToUnbind.forEach(function(a){a()}),
602
- this.eventsToUnbind=void 0);this.removeBaseSeriesEvents()},removeBaseSeriesEvents:function(){var a=this.baseSeries||[];this.navigatorEnabled&&a[0]&&(!1!==this.navigatorOptions.adaptToUpdatedData&&a.forEach(function(a){e(a,"updatedData",this.updatedDataHandler)},this),a[0].xAxis&&e(a[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes))},init:function(a){var d=a.options,e=d.navigator,f=e.enabled,g=d.scrollbar,h=g.enabled,d=f?e.height:0,k=h?g.height:0;this.handles=[];this.shades=[];this.chart=a;this.setBaseSeries();
603
- this.height=d;this.scrollbarHeight=k;this.scrollbarEnabled=h;this.navigatorEnabled=f;this.navigatorOptions=e;this.scrollbarOptions=g;this.outlineHeight=d+k;this.opposite=c(e.opposite,!f&&a.inverted);var m=this,f=m.baseSeries,g=a.xAxis.length,h=a.yAxis.length,l=f&&f[0]&&f[0].xAxis||a.xAxis[0]||{options:{}};a.isDirtyBox=!0;m.navigatorEnabled?(m.xAxis=new C(a,b({breaks:l.options.breaks,ordinal:l.options.ordinal},e.xAxis,{id:"navigator-x-axis",yAxis:"navigator-y-axis",isX:!0,type:"datetime",index:g,isInternal:!0,
604
- offset:0,keepOrdinalPadding:!0,startOnTick:!1,endOnTick:!1,minPadding:0,maxPadding:0,zoomEnabled:!1},a.inverted?{offsets:[k,0,-k,0],width:d}:{offsets:[0,-k,0,k],height:d})),m.yAxis=new C(a,b(e.yAxis,{id:"navigator-y-axis",alignTicks:!1,offset:0,index:h,isInternal:!0,zoomEnabled:!1},a.inverted?{width:d}:{height:d})),f||e.series.data?m.updateNavigatorSeries(!1):0===a.series.length&&(m.unbindRedraw=y(a,"beforeRedraw",function(){0<a.series.length&&!m.series&&(m.setBaseSeries(),m.unbindRedraw())})),m.reversedExtremes=
605
- a.inverted&&!m.xAxis.reversed||!a.inverted&&m.xAxis.reversed,m.renderElements(),m.addMouseEvents()):m.xAxis={translate:function(b,c){var d=a.xAxis[0],e=d.getExtremes(),f=d.len-2*k,g=F("min",d.options.min,e.dataMin),d=F("max",d.options.max,e.dataMax)-g;return c?b*d/f+g:f*(b-g)/d},toPixels:function(a){return this.translate(a)},toValue:function(a){return this.translate(a,!0)},toFixedRange:C.prototype.toFixedRange,fake:!0};a.options.scrollbar.enabled&&(a.scrollbar=m.scrollbar=new n(a.renderer,b(a.options.scrollbar,
606
- {margin:m.navigatorEnabled?0:10,vertical:a.inverted}),a),y(m.scrollbar,"changed",function(b){var c=m.size,d=c*this.to,c=c*this.from;m.hasDragged=m.scrollbar.hasDragged;m.render(0,0,c,d);(a.options.scrollbar.liveRedraw||"mousemove"!==b.DOMType&&"touchmove"!==b.DOMType)&&setTimeout(function(){m.onMouseUp(b)})}));m.addBaseSeriesEvents();m.addChartEvents()},getUnionExtremes:function(a){var b=this.chart.xAxis[0],d=this.xAxis,e=d.options,f=b.options,g;a&&null===b.dataMin||(g={dataMin:c(e&&e.min,F("min",
607
- f.min,b.dataMin,d.dataMin,d.min)),dataMax:c(e&&e.max,F("max",f.max,b.dataMax,d.dataMax,d.max))});return g},setBaseSeries:function(b,c){var d=this.chart,e=this.baseSeries=[];b=b||d.options&&d.options.navigator.baseSeries||(d.series.length?a.find(d.series,function(a){return!a.options.isInternal}).index:0);(d.series||[]).forEach(function(a,c){a.options.isInternal||!a.options.showInNavigator&&(c!==b&&a.options.id!==b||!1===a.options.showInNavigator)||e.push(a)});this.xAxis&&!this.xAxis.fake&&this.updateNavigatorSeries(!0,
608
- c)},updateNavigatorSeries:function(c,d){var f=this,h=f.chart,m=f.baseSeries,l,k,n=f.navigatorOptions.series,p,r={enableMouseTracking:!1,index:null,linkedTo:null,group:"nav",padXAxis:!1,xAxis:"navigator-x-axis",yAxis:"navigator-y-axis",showInLegend:!1,stacking:!1,isInternal:!0,states:{inactive:{opacity:1}}},t=f.series=(f.series||[]).filter(function(a){var b=a.baseSeries;return 0>m.indexOf(b)?(b&&(e(b,"updatedData",f.updatedDataHandler),delete b.navigatorSeries),a.chart&&a.destroy(),!1):!0});m&&m.length&&
609
- m.forEach(function(a){var c=a.navigatorSeries,e=q({color:a.color,visible:a.visible},g(n)?u.navigator.series:n);c&&!1===f.navigatorOptions.adaptToUpdatedData||(r.name="Navigator "+m.length,l=a.options||{},p=l.navigatorOptions||{},k=b(l,r,e,p),e=p.data||e.data,f.hasNavigatorData=f.hasNavigatorData||!!e,k.data=e||l.data&&l.data.slice(0),c&&c.options?c.update(k,d):(a.navigatorSeries=h.initSeries(k),a.navigatorSeries.baseSeries=a,t.push(a.navigatorSeries)))});if(n.data&&(!m||!m.length)||g(n))f.hasNavigatorData=
610
- !1,n=a.splat(n),n.forEach(function(a,c){r.name="Navigator "+(t.length+1);k=b(u.navigator.series,{color:h.series[c]&&!h.series[c].options.isInternal&&h.series[c].color||h.options.colors[c]||h.options.colors[0]},r,a);k.data=a.data;k.data&&(f.hasNavigatorData=!0,t.push(h.initSeries(k)))});c&&this.addBaseSeriesEvents()},addBaseSeriesEvents:function(){var a=this,b=a.baseSeries||[];b[0]&&b[0].xAxis&&y(b[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes);b.forEach(function(b){y(b,"show",function(){this.navigatorSeries&&
611
- this.navigatorSeries.setVisible(!0,!1)});y(b,"hide",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!1,!1)});!1!==this.navigatorOptions.adaptToUpdatedData&&b.xAxis&&y(b,"updatedData",this.updatedDataHandler);y(b,"remove",function(){this.navigatorSeries&&(v(a.series,this.navigatorSeries),t(this.navigatorSeries.options)&&this.navigatorSeries.remove(!1),delete this.navigatorSeries)})},this)},getBaseSeriesMin:function(a){return this.baseSeries.reduce(function(a,b){return Math.min(a,b.xData?
612
- b.xData[0]:a)},a)},modifyNavigatorAxisExtremes:function(){var a=this.xAxis,b;a.getExtremes&&(!(b=this.getUnionExtremes(!0))||b.dataMin===a.min&&b.dataMax===a.max||(a.min=b.dataMin,a.max=b.dataMax))},modifyBaseAxisExtremes:function(){var a=this.chart.navigator,b=this.getExtremes(),d=b.dataMin,e=b.dataMax,b=b.max-b.min,g=a.stickToMin,h=a.stickToMax,k=c(this.options.overscroll,0),l,n,q=a.series&&a.series[0],r=!!this.setExtremes;this.eventArgs&&"rangeSelectorButton"===this.eventArgs.trigger||(g&&(n=d,
613
- l=n+b),h&&(l=e+k,g||(n=Math.max(l-b,a.getBaseSeriesMin(q&&q.xData?q.xData[0]:-Number.MAX_VALUE)))),r&&(g||h)&&f(n)&&(this.min=this.userMin=n,this.max=this.userMax=l));a.stickToMin=a.stickToMax=null},updatedDataHandler:function(){var a=this.chart.navigator,b=this.navigatorSeries,c=a.getBaseSeriesMin(this.xData[0]);a.stickToMax=a.reversedExtremes?0===Math.round(a.zoomedMin):Math.round(a.zoomedMax)>=Math.round(a.size);a.stickToMin=f(this.xAxis.min)&&this.xAxis.min<=c&&(!this.chart.fixedRange||!a.stickToMax);
614
- b&&!a.hasNavigatorData&&(b.options.pointStart=this.xData[0],b.setData(this.options.data,!1,null,!1))},addChartEvents:function(){this.eventsToUnbind||(this.eventsToUnbind=[]);this.eventsToUnbind.push(y(this.chart,"redraw",function(){var a=this.navigator,b=a&&(a.baseSeries&&a.baseSeries[0]&&a.baseSeries[0].xAxis||a.scrollbar&&this.xAxis[0]);b&&a.render(b.min,b.max)}),y(this.chart,"getMargins",function(){var a=this.navigator,b=a.opposite?"plotTop":"marginBottom";this.inverted&&(b=a.opposite?"marginRight":
615
- "plotLeft");this[b]=(this[b]||0)+(a.navigatorEnabled||!this.inverted?a.outlineHeight:0)+a.navigatorOptions.margin}))},destroy:function(){this.removeEvents();this.xAxis&&(v(this.chart.xAxis,this.xAxis),v(this.chart.axes,this.xAxis));this.yAxis&&(v(this.chart.yAxis,this.yAxis),v(this.chart.axes,this.yAxis));(this.series||[]).forEach(function(a){a.destroy&&a.destroy()});"series xAxis yAxis shades outline scrollbarTrack scrollbarRifles scrollbarGroup scrollbar navigatorGroup rendered".split(" ").forEach(function(a){this[a]&&
616
- this[a].destroy&&this[a].destroy();this[a]=null},this);[this.handles].forEach(function(a){x(a)},this)}};a.Navigator||(a.Navigator=B,y(C,"zoom",function(a){var b=this.chart.options,c=b.chart.zoomType,e=b.chart.pinchType,f=b.navigator,b=b.rangeSelector;this.isXAxis&&(f&&f.enabled||b&&b.enabled)&&("y"===c?a.zoomed=!1:(!d&&"xy"===c||d&&"xy"===e)&&this.options.range&&(c=this.previousZoom,t(a.newMin)?this.previousZoom=[this.min,this.max]:c&&(a.newMin=c[0],a.newMax=c[1],delete this.previousZoom)));void 0!==
617
- a.zoomed&&a.preventDefault()}),y(r,"beforeShowResetZoom",function(){var a=this.options,b=a.navigator,c=a.rangeSelector;if((b&&b.enabled||c&&c.enabled)&&(!d&&"x"===a.chart.zoomType||d&&"x"===a.chart.pinchType))return!1}),y(r,"beforeRender",function(){var a=this.options;if(a.navigator.enabled||a.scrollbar.enabled)this.scroller=this.navigator=new B(this)}),y(r,"afterSetChartSize",function(){var a=this.legend,b=this.navigator,d,e,f,g;b&&(e=a&&a.options,f=b.xAxis,g=b.yAxis,d=b.scrollbarHeight,this.inverted?
618
- (b.left=b.opposite?this.chartWidth-d-b.height:this.spacing[3]+d,b.top=this.plotTop+d):(b.left=this.plotLeft+d,b.top=b.navigatorOptions.top||this.chartHeight-b.height-d-this.spacing[2]-(this.rangeSelector&&this.extraBottomMargin?this.rangeSelector.getHeight():0)-(e&&"bottom"===e.verticalAlign&&e.enabled&&!e.floating?a.legendHeight+c(e.margin,10):0)),f&&g&&(this.inverted?f.options.left=g.options.left=b.left:f.options.top=g.options.top=b.top,f.setAxisSize(),g.setAxisSize()))}),y(r,"update",function(a){var c=
619
- a.options.navigator||{},d=a.options.scrollbar||{};this.navigator||this.scroller||!c.enabled&&!d.enabled||(b(!0,this.options.navigator,c),b(!0,this.options.scrollbar,d),delete a.options.navigator,delete a.options.scrollbar)}),y(r,"afterUpdate",function(a){this.navigator||this.scroller||!this.options.navigator.enabled&&!this.options.scrollbar.enabled||(this.scroller=this.navigator=new B(this),c(a.redraw,!0)&&this.redraw(a.animation))}),y(r,"afterAddSeries",function(){this.navigator&&this.navigator.setBaseSeries(null,
620
- !1)}),y(w,"afterUpdate",function(){this.chart.navigator&&!this.options.isInternal&&this.chart.navigator.setBaseSeries(null,!1)}),r.prototype.callbacks.push(function(a){var b=a.navigator;b&&a.xAxis[0]&&(a=a.xAxis[0].getExtremes(),b.render(a.min,a.max))}))});J(G,"masters/modules/gantt.src.js",[],function(){});J(G,"masters/highcharts-gantt.src.js",[G["masters/highcharts.src.js"]],function(a){return a});G["masters/highcharts-gantt.src.js"]._modules=G;return G["masters/highcharts-gantt.src.js"]});
595
+ labels:{align:"left",style:{color:"#999999"},x:3,y:-4},crosshair:!1},yAxis:{className:"highcharts-navigator-yaxis",gridLineWidth:0,startOnTick:!1,endOnTick:!1,minPadding:.1,maxPadding:.1,labels:{enabled:!1},crosshair:!1,title:{text:null},tickLength:0,tickWidth:0}}});a.Renderer.prototype.symbols["navigator-handle"]=function(a,b,c,d,e){a=e.width/2;b=Math.round(a/3)+.5;e=e.height;return["M",-a-1,.5,"L",a,.5,"L",a,e+.5,"L",-a-1,e+.5,"L",-a-1,.5,"M",-b,4,"L",-b,e-3,"M",b-1,4,"L",b-1,e-3]};z.prototype.toFixedRange=
596
+ function(a,c,d,e){var f=this.chart&&this.chart.fixedRange;a=b(d,this.translate(a,!0,!this.horiz));c=b(e,this.translate(c,!0,!this.horiz));d=f&&(c-a)/f;.7<d&&1.3>d&&(e?a=c-f:c=a+f);v(a)&&v(c)||(a=c=void 0);return{min:a,max:c}};C.prototype={drawHandle:function(a,b,c,d){var e=this.navigatorOptions.handles.height;this.handles[b][d](c?{translateX:Math.round(this.left+this.height/2),translateY:Math.round(this.top+parseInt(a,10)+.5-e)}:{translateX:Math.round(this.left+parseInt(a,10)),translateY:Math.round(this.top+
597
+ this.height/2-e/2-1)})},drawOutline:function(a,b,c,d){var e=this.navigatorOptions.maskInside,f=this.outline.strokeWidth(),g=f/2,f=f%2/2,h=this.outlineHeight,m=this.scrollbarHeight,k=this.size,n=this.left-m,l=this.top;c?(n-=g,c=l+b+f,b=l+a+f,a=["M",n+h,l-m-f,"L",n+h,c,"L",n,c,"L",n,b,"L",n+h,b,"L",n+h,l+k+m].concat(e?["M",n+h,c-g,"L",n+h,b+g]:[])):(a+=n+m-f,b+=n+m-f,l+=g,a=["M",n,l,"L",a,l,"L",a,l+h,"L",b,l+h,"L",b,l,"L",n+k+2*m,l].concat(e?["M",a-g,l,"L",b+g,l]:[]));this.outline[d]({d:a})},drawMasks:function(a,
598
+ b,c,d){var e=this.left,f=this.top,g=this.height,h,m,k,n;c?(k=[e,e,e],n=[f,f+a,f+b],m=[g,g,g],h=[a,b-a,this.size-b]):(k=[e,e+a,e+b],n=[f,f,f],m=[a,b-a,this.size-b],h=[g,g,g]);this.shades.forEach(function(a,b){a[d]({x:k[b],y:n[b],width:m[b],height:h[b]})})},renderElements:function(){var a=this,b=a.navigatorOptions,c=b.maskInside,d=a.chart,e=d.renderer,f,g={cursor:d.inverted?"ns-resize":"ew-resize"};a.navigatorGroup=f=e.g("navigator").attr({zIndex:8,visibility:"hidden"}).add();[!c,c,!c].forEach(function(c,
599
+ h){a.shades[h]=e.rect().addClass("highcharts-navigator-mask"+(1===h?"-inside":"-outside")).add(f);d.styledMode||a.shades[h].attr({fill:c?b.maskFill:"rgba(0,0,0,0)"}).css(1===h&&g)});a.outline=e.path().addClass("highcharts-navigator-outline").add(f);d.styledMode||a.outline.attr({"stroke-width":b.outlineWidth,stroke:b.outlineColor});b.handles.enabled&&[0,1].forEach(function(c){b.handles.inverted=d.inverted;a.handles[c]=e.symbol(b.handles.symbols[c],-b.handles.width/2-1,0,b.handles.width,b.handles.height,
600
+ b.handles);a.handles[c].attr({zIndex:7-c}).addClass("highcharts-navigator-handle highcharts-navigator-handle-"+["left","right"][c]).add(f);if(!d.styledMode){var h=b.handles;a.handles[c].attr({fill:h.backgroundColor,stroke:h.borderColor,"stroke-width":h.lineWidth}).css(g)}})},update:function(a){(this.series||[]).forEach(function(a){a.baseSeries&&delete a.baseSeries.navigatorSeries});this.destroy();c(!0,this.chart.options.navigator,this.options,a);this.init(this.chart)},render:function(c,d,e,f){var g=
601
+ this.chart,h,k,m=this.scrollbarHeight,l,n=this.xAxis;h=n.fake?g.xAxis[0]:n;var p=this.navigatorEnabled,t,u=this.rendered;k=g.inverted;var w,x=g.xAxis[0].minRange,B=g.xAxis[0].options.maxRange;if(!this.hasDragged||r(e)){if(!v(c)||!v(d))if(u)e=0,f=b(n.width,h.width);else return;this.left=b(n.left,g.plotLeft+m+(k?g.plotWidth:0));this.size=t=l=b(n.len,(k?g.plotHeight:g.plotWidth)-2*m);g=k?m:l+2*m;e=b(e,n.toPixels(c,!0));f=b(f,n.toPixels(d,!0));v(e)&&Infinity!==Math.abs(e)||(e=0,f=g);c=n.toValue(e,!0);
602
+ d=n.toValue(f,!0);w=Math.abs(a.correctFloat(d-c));w<x?this.grabbedLeft?e=n.toPixels(d-x,!0):this.grabbedRight&&(f=n.toPixels(c+x,!0)):r(B)&&w>B&&(this.grabbedLeft?e=n.toPixels(d-B,!0):this.grabbedRight&&(f=n.toPixels(c+B,!0)));this.zoomedMax=Math.min(Math.max(e,f,0),t);this.zoomedMin=Math.min(Math.max(this.fixedWidth?this.zoomedMax-this.fixedWidth:Math.min(e,f),0),t);this.range=this.zoomedMax-this.zoomedMin;t=Math.round(this.zoomedMax);e=Math.round(this.zoomedMin);p&&(this.navigatorGroup.attr({visibility:"visible"}),
603
+ u=u&&!this.hasDragged?"animate":"attr",this.drawMasks(e,t,k,u),this.drawOutline(e,t,k,u),this.navigatorOptions.handles.enabled&&(this.drawHandle(e,0,k,u),this.drawHandle(t,1,k,u)));this.scrollbar&&(k?(k=this.top-m,h=this.left-m+(p||!h.opposite?0:(h.titleOffset||0)+h.axisTitleMargin),m=l+2*m):(k=this.top+(p?this.height:-m),h=this.left-m),this.scrollbar.position(h,k,g,m),this.scrollbar.setRange(this.zoomedMin/(l||1),this.zoomedMax/(l||1)));this.rendered=!0}},addMouseEvents:function(){var a=this,b=a.chart,
604
+ c=b.container,d=[],e,f;a.mouseMoveHandler=e=function(b){a.onMouseMove(b)};a.mouseUpHandler=f=function(b){a.onMouseUp(b)};d=a.getPartsEvents("mousedown");d.push(D(c,"mousemove",e),D(c.ownerDocument,"mouseup",f));h&&(d.push(D(c,"touchmove",e),D(c.ownerDocument,"touchend",f)),d.concat(a.getPartsEvents("touchstart")));a.eventsToUnbind=d;a.series&&a.series[0]&&d.push(D(a.series[0].xAxis,"foundExtremes",function(){b.navigator.modifyNavigatorAxisExtremes()}))},getPartsEvents:function(a){var b=this,c=[];
605
+ ["shades","handles"].forEach(function(d){b[d].forEach(function(e,f){c.push(D(e.element,a,function(a){b[d+"Mousedown"](a,f)}))})});return c},shadesMousedown:function(a,b){a=this.chart.pointer.normalize(a);var c=this.chart,d=this.xAxis,e=this.zoomedMin,f=this.left,g=this.size,h=this.range,k=a.chartX,m,l;c.inverted&&(k=a.chartY,f=this.top);1===b?(this.grabbedCenter=k,this.fixedWidth=h,this.dragOffset=k-e):(a=k-f-h/2,0===b?a=Math.max(0,a):2===b&&a+h>=g&&(a=g-h,this.reversedExtremes?(a-=h,l=this.getUnionExtremes().dataMin):
606
+ m=this.getUnionExtremes().dataMax),a!==e&&(this.fixedWidth=h,b=d.toFixedRange(a,a+h,l,m),r(b.min)&&c.xAxis[0].setExtremes(Math.min(b.min,b.max),Math.max(b.min,b.max),!0,null,{trigger:"navigator"})))},handlesMousedown:function(a,b){this.chart.pointer.normalize(a);a=this.chart;var c=a.xAxis[0],d=this.reversedExtremes;0===b?(this.grabbedLeft=!0,this.otherHandlePos=this.zoomedMax,this.fixedExtreme=d?c.min:c.max):(this.grabbedRight=!0,this.otherHandlePos=this.zoomedMin,this.fixedExtreme=d?c.max:c.min);
607
+ a.fixedRange=null},onMouseMove:function(c){var d=this,e=d.chart,f=d.left,h=d.navigatorSize,k=d.range,m=d.dragOffset,l=e.inverted;c.touches&&0===c.touches[0].pageX||(c=e.pointer.normalize(c),e=c.chartX,l&&(f=d.top,e=c.chartY),d.grabbedLeft?(d.hasDragged=!0,d.render(0,0,e-f,d.otherHandlePos)):d.grabbedRight?(d.hasDragged=!0,d.render(0,0,d.otherHandlePos,e-f)):d.grabbedCenter&&(d.hasDragged=!0,e<m?e=m:e>h+m-k&&(e=h+m-k),d.render(0,0,e-m,e-m+k)),d.hasDragged&&d.scrollbar&&b(d.scrollbar.options.liveRedraw,
608
+ a.svg&&!g&&!this.chart.isBoosting)&&(c.DOMType=c.type,setTimeout(function(){d.onMouseUp(c)},0)))},onMouseUp:function(a){var b=this.chart,c=this.xAxis,d=this.scrollbar,e,f,g=a.DOMEvent||a;(!this.hasDragged||d&&d.hasDragged)&&"scrollbar"!==a.trigger||(d=this.getUnionExtremes(),this.zoomedMin===this.otherHandlePos?e=this.fixedExtreme:this.zoomedMax===this.otherHandlePos&&(f=this.fixedExtreme),this.zoomedMax===this.size&&(f=this.reversedExtremes?d.dataMin:d.dataMax),0===this.zoomedMin&&(e=this.reversedExtremes?
609
+ d.dataMax:d.dataMin),c=c.toFixedRange(this.zoomedMin,this.zoomedMax,e,f),r(c.min)&&b.xAxis[0].setExtremes(Math.min(c.min,c.max),Math.max(c.min,c.max),!0,this.hasDragged?!1:null,{trigger:"navigator",triggerOp:"navigator-drag",DOMEvent:g}));"mousemove"!==a.DOMType&&(this.grabbedLeft=this.grabbedRight=this.grabbedCenter=this.fixedWidth=this.fixedExtreme=this.otherHandlePos=this.hasDragged=this.dragOffset=null)},removeEvents:function(){this.eventsToUnbind&&(this.eventsToUnbind.forEach(function(a){a()}),
610
+ this.eventsToUnbind=void 0);this.removeBaseSeriesEvents()},removeBaseSeriesEvents:function(){var a=this.baseSeries||[];this.navigatorEnabled&&a[0]&&(!1!==this.navigatorOptions.adaptToUpdatedData&&a.forEach(function(a){d(a,"updatedData",this.updatedDataHandler)},this),a[0].xAxis&&d(a[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes))},init:function(a){var d=a.options,e=d.navigator,g=e.enabled,h=d.scrollbar,k=h.enabled,d=g?e.height:0,m=k?h.height:0;this.handles=[];this.shades=[];this.chart=a;this.setBaseSeries();
611
+ this.height=d;this.scrollbarHeight=m;this.scrollbarEnabled=k;this.navigatorEnabled=g;this.navigatorOptions=e;this.scrollbarOptions=h;this.outlineHeight=d+m;this.opposite=b(e.opposite,!g&&a.inverted);var l=this,g=l.baseSeries,h=a.xAxis.length,k=a.yAxis.length,p=g&&g[0]&&g[0].xAxis||a.xAxis[0]||{options:{}};a.isDirtyBox=!0;l.navigatorEnabled?(l.xAxis=new z(a,c({breaks:p.options.breaks,ordinal:p.options.ordinal},e.xAxis,{id:"navigator-x-axis",yAxis:"navigator-y-axis",isX:!0,type:"datetime",index:h,isInternal:!0,
612
+ offset:0,keepOrdinalPadding:!0,startOnTick:!1,endOnTick:!1,minPadding:0,maxPadding:0,zoomEnabled:!1},a.inverted?{offsets:[m,0,-m,0],width:d}:{offsets:[0,-m,0,m],height:d})),l.yAxis=new z(a,c(e.yAxis,{id:"navigator-y-axis",alignTicks:!1,offset:0,index:k,isInternal:!0,zoomEnabled:!1},a.inverted?{width:d}:{height:d})),g||e.series.data?l.updateNavigatorSeries(!1):0===a.series.length&&(l.unbindRedraw=D(a,"beforeRedraw",function(){0<a.series.length&&!l.series&&(l.setBaseSeries(),l.unbindRedraw())})),l.reversedExtremes=
613
+ a.inverted&&!l.xAxis.reversed||!a.inverted&&l.xAxis.reversed,l.renderElements(),l.addMouseEvents()):l.xAxis={translate:function(b,c){var d=a.xAxis[0],e=d.getExtremes(),f=d.len-2*m,g=F("min",d.options.min,e.dataMin),d=F("max",d.options.max,e.dataMax)-g;return c?b*d/f+g:f*(b-g)/d},toPixels:function(a){return this.translate(a)},toValue:function(a){return this.translate(a,!0)},toFixedRange:z.prototype.toFixedRange,fake:!0};a.options.scrollbar.enabled&&(a.scrollbar=l.scrollbar=new f(a.renderer,c(a.options.scrollbar,
614
+ {margin:l.navigatorEnabled?0:10,vertical:a.inverted}),a),D(l.scrollbar,"changed",function(b){var c=l.size,d=c*this.to,c=c*this.from;l.hasDragged=l.scrollbar.hasDragged;l.render(0,0,c,d);(a.options.scrollbar.liveRedraw||"mousemove"!==b.DOMType&&"touchmove"!==b.DOMType)&&setTimeout(function(){l.onMouseUp(b)})}));l.addBaseSeriesEvents();l.addChartEvents()},getUnionExtremes:function(a){var c=this.chart.xAxis[0],d=this.xAxis,e=d.options,f=c.options,g;a&&null===c.dataMin||(g={dataMin:b(e&&e.min,F("min",
615
+ f.min,c.dataMin,d.dataMin,d.min)),dataMax:b(e&&e.max,F("max",f.max,c.dataMax,d.dataMax,d.max))});return g},setBaseSeries:function(b,c){var d=this.chart,e=this.baseSeries=[];b=b||d.options&&d.options.navigator.baseSeries||(d.series.length?a.find(d.series,function(a){return!a.options.isInternal}).index:0);(d.series||[]).forEach(function(a,c){a.options.isInternal||!a.options.showInNavigator&&(c!==b&&a.options.id!==b||!1===a.options.showInNavigator)||e.push(a)});this.xAxis&&!this.xAxis.fake&&this.updateNavigatorSeries(!0,
616
+ c)},updateNavigatorSeries:function(b,e){var f=this,g=f.chart,h=f.baseSeries,m,l,n=f.navigatorOptions.series,r,u={enableMouseTracking:!1,index:null,linkedTo:null,group:"nav",padXAxis:!1,xAxis:"navigator-x-axis",yAxis:"navigator-y-axis",showInLegend:!1,stacking:!1,isInternal:!0,states:{inactive:{opacity:1}}},v=f.series=(f.series||[]).filter(function(a){var b=a.baseSeries;return 0>h.indexOf(b)?(b&&(d(b,"updatedData",f.updatedDataHandler),delete b.navigatorSeries),a.chart&&a.destroy(),!1):!0});h&&h.length&&
617
+ h.forEach(function(a){var b=a.navigatorSeries,d=p({color:a.color,visible:a.visible},k(n)?t.navigator.series:n);b&&!1===f.navigatorOptions.adaptToUpdatedData||(u.name="Navigator "+h.length,m=a.options||{},r=m.navigatorOptions||{},l=c(m,u,d,r),d=r.data||d.data,f.hasNavigatorData=f.hasNavigatorData||!!d,l.data=d||m.data&&m.data.slice(0),b&&b.options?b.update(l,e):(a.navigatorSeries=g.initSeries(l),a.navigatorSeries.baseSeries=a,v.push(a.navigatorSeries)))});if(n.data&&(!h||!h.length)||k(n))f.hasNavigatorData=
618
+ !1,n=a.splat(n),n.forEach(function(a,b){u.name="Navigator "+(v.length+1);l=c(t.navigator.series,{color:g.series[b]&&!g.series[b].options.isInternal&&g.series[b].color||g.options.colors[b]||g.options.colors[0]},u,a);l.data=a.data;l.data&&(f.hasNavigatorData=!0,v.push(g.initSeries(l)))});b&&this.addBaseSeriesEvents()},addBaseSeriesEvents:function(){var a=this,b=a.baseSeries||[];b[0]&&b[0].xAxis&&D(b[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes);b.forEach(function(b){D(b,"show",function(){this.navigatorSeries&&
619
+ this.navigatorSeries.setVisible(!0,!1)});D(b,"hide",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!1,!1)});!1!==this.navigatorOptions.adaptToUpdatedData&&b.xAxis&&D(b,"updatedData",this.updatedDataHandler);D(b,"remove",function(){this.navigatorSeries&&(x(a.series,this.navigatorSeries),r(this.navigatorSeries.options)&&this.navigatorSeries.remove(!1),delete this.navigatorSeries)})},this)},getBaseSeriesMin:function(a){return this.baseSeries.reduce(function(a,b){return Math.min(a,b.xData?
620
+ b.xData[0]:a)},a)},modifyNavigatorAxisExtremes:function(){var a=this.xAxis,b;a.getExtremes&&(!(b=this.getUnionExtremes(!0))||b.dataMin===a.min&&b.dataMax===a.max||(a.min=b.dataMin,a.max=b.dataMax))},modifyBaseAxisExtremes:function(){var a=this.chart.navigator,c=this.getExtremes(),d=c.dataMin,e=c.dataMax,c=c.max-c.min,f=a.stickToMin,g=a.stickToMax,h=b(this.options.overscroll,0),k,l,p=a.series&&a.series[0],r=!!this.setExtremes;this.eventArgs&&"rangeSelectorButton"===this.eventArgs.trigger||(f&&(l=d,
621
+ k=l+c),g&&(k=e+h,f||(l=Math.max(k-c,a.getBaseSeriesMin(p&&p.xData?p.xData[0]:-Number.MAX_VALUE)))),r&&(f||g)&&v(l)&&(this.min=this.userMin=l,this.max=this.userMax=k));a.stickToMin=a.stickToMax=null},updatedDataHandler:function(){var a=this.chart.navigator,b=this.navigatorSeries,c=a.getBaseSeriesMin(this.xData[0]);a.stickToMax=a.reversedExtremes?0===Math.round(a.zoomedMin):Math.round(a.zoomedMax)>=Math.round(a.size);a.stickToMin=v(this.xAxis.min)&&this.xAxis.min<=c&&(!this.chart.fixedRange||!a.stickToMax);
622
+ b&&!a.hasNavigatorData&&(b.options.pointStart=this.xData[0],b.setData(this.options.data,!1,null,!1))},addChartEvents:function(){this.eventsToUnbind||(this.eventsToUnbind=[]);this.eventsToUnbind.push(D(this.chart,"redraw",function(){var a=this.navigator,b=a&&(a.baseSeries&&a.baseSeries[0]&&a.baseSeries[0].xAxis||a.scrollbar&&this.xAxis[0]);b&&a.render(b.min,b.max)}),D(this.chart,"getMargins",function(){var a=this.navigator,b=a.opposite?"plotTop":"marginBottom";this.inverted&&(b=a.opposite?"marginRight":
623
+ "plotLeft");this[b]=(this[b]||0)+(a.navigatorEnabled||!this.inverted?a.outlineHeight:0)+a.navigatorOptions.margin}))},destroy:function(){this.removeEvents();this.xAxis&&(x(this.chart.xAxis,this.xAxis),x(this.chart.axes,this.xAxis));this.yAxis&&(x(this.chart.yAxis,this.yAxis),x(this.chart.axes,this.yAxis));(this.series||[]).forEach(function(a){a.destroy&&a.destroy()});"series xAxis yAxis shades outline scrollbarTrack scrollbarRifles scrollbarGroup scrollbar navigatorGroup rendered".split(" ").forEach(function(a){this[a]&&
624
+ this[a].destroy&&this[a].destroy();this[a]=null},this);[this.handles].forEach(function(a){w(a)},this)}};a.Navigator||(a.Navigator=C,D(z,"zoom",function(a){var b=this.chart.options,c=b.chart.zoomType,d=b.chart.pinchType,e=b.navigator,b=b.rangeSelector;this.isXAxis&&(e&&e.enabled||b&&b.enabled)&&("y"===c?a.zoomed=!1:(!g&&"xy"===c||g&&"xy"===d)&&this.options.range&&(c=this.previousZoom,r(a.newMin)?this.previousZoom=[this.min,this.max]:c&&(a.newMin=c[0],a.newMax=c[1],delete this.previousZoom)));void 0!==
625
+ a.zoomed&&a.preventDefault()}),D(l,"beforeShowResetZoom",function(){var a=this.options,b=a.navigator,c=a.rangeSelector;if((b&&b.enabled||c&&c.enabled)&&(!g&&"x"===a.chart.zoomType||g&&"x"===a.chart.pinchType))return!1}),D(l,"beforeRender",function(){var a=this.options;if(a.navigator.enabled||a.scrollbar.enabled)this.scroller=this.navigator=new C(this)}),D(l,"afterSetChartSize",function(){var a=this.legend,c=this.navigator,d,e,f,g;c&&(e=a&&a.options,f=c.xAxis,g=c.yAxis,d=c.scrollbarHeight,this.inverted?
626
+ (c.left=c.opposite?this.chartWidth-d-c.height:this.spacing[3]+d,c.top=this.plotTop+d):(c.left=this.plotLeft+d,c.top=c.navigatorOptions.top||this.chartHeight-c.height-d-this.spacing[2]-(this.rangeSelector&&this.extraBottomMargin?this.rangeSelector.getHeight():0)-(e&&"bottom"===e.verticalAlign&&e.enabled&&!e.floating?a.legendHeight+b(e.margin,10):0)),f&&g&&(this.inverted?f.options.left=g.options.left=c.left:f.options.top=g.options.top=c.top,f.setAxisSize(),g.setAxisSize()))}),D(l,"update",function(a){var b=
627
+ a.options.navigator||{},d=a.options.scrollbar||{};this.navigator||this.scroller||!b.enabled&&!d.enabled||(c(!0,this.options.navigator,b),c(!0,this.options.scrollbar,d),delete a.options.navigator,delete a.options.scrollbar)}),D(l,"afterUpdate",function(a){this.navigator||this.scroller||!this.options.navigator.enabled&&!this.options.scrollbar.enabled||(this.scroller=this.navigator=new C(this),b(a.redraw,!0)&&this.redraw(a.animation))}),D(l,"afterAddSeries",function(){this.navigator&&this.navigator.setBaseSeries(null,
628
+ !1)}),D(y,"afterUpdate",function(){this.chart.navigator&&!this.options.isInternal&&this.chart.navigator.setBaseSeries(null,!1)}),l.prototype.callbacks.push(function(a){var b=a.navigator;b&&a.xAxis[0]&&(a=a.xAxis[0].getExtremes(),b.render(a.min,a.max))}))});J(H,"masters/modules/gantt.src.js",[],function(){});J(H,"masters/highcharts-gantt.src.js",[H["masters/highcharts.src.js"]],function(a){return a});H["masters/highcharts-gantt.src.js"]._modules=H;return H["masters/highcharts-gantt.src.js"]});
621
629
  //# sourceMappingURL=highcharts-gantt.js.map